Method and apparatus for speech encoding and decoding by sinusoidal analysis and waveform encoding with phase reproducibility

ABSTRACT

A speech encoding method and apparatus in which an input speech signal is divided in terms of blocks or frames as encoding units and encoded in terms of the encoding units, whereby explosive and fricative consonants can be impeccably reproduced, while there is an attenuation of the occurrence of foreign sounds being generated at a transient portion between voiced (V) and unvoiced (UV) portions, so that the speech with high clarity devoid of “stuffed” feeling may be produced. The encoding apparatus includes a first encoding unit for finding residuals of linear predictive coding (LPC) of an input speech signal for performing harmonic coding and a second encoding unit for encoding the input speech signal by waveform coding. The first encoding unit and the second encoding unit are used for encoding a voiced (V) portion and an unvoiced (UV) portion of the input signal, respectively. Code excited linear prediction (CELP) encoding employing vector quantization by a closed loop search of an optimum vector using an analysis-by-synthesis method is used for the second encoding unit. A corresponding decoding method and apparatus is also provided.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a speech encoding method in which an inputspeech signal is divided in terms of blocks or frames as encoding unitsand encoded in terms of the encoding units, a decoding method fordecoding the encoded signal, and a speech encoding/decoding method.

2. Description of the Related Art

There have conventionally been known a variety of encoding methods forencoding an audio signal (inclusive of speech and acoustic signals) forsignal compression by exploiting statistic properties of the signals inthe time domain and in the frequency domain and psychoacousticcharacteristics of the human ear. The encoding methods may roughly beclassified into time-domain encoding, frequency domain encoding andanalysis/synthesis encoding.

Examples of the high-efficiency encoding of speech signals includesinusoidal analytic encoding, such as harmonic encoding or multi-bandexcitation (MBE) encoding, sub-band coding (SBC), linear predictivecoding (LPC), discrete cosine transform (DCT), modified DCT (MDCT), andfast Fourier transform (FFT).

In the conventional MBE encoding or harmonic encoding, unvoiced speechportions are generated by a noise generating circuit. However, thismethod has a drawback that explosive consonants, such as p, k or t, orfricative consonants, cannot be produced correctly.

Moreover, if encoded parameters having totally different properties,such as line spectrum pairs (LSPs), are interpolated at a transientportion between a voiced (V) portion and an unvoiced (UV) portion,extraneous or foreign sounds tend to be produced. It being understoodthat by voiced is meant those sounds that have a discernable spectraldistribution and by unvoiced is meant those sounds whose spectrum lookslike noise.

In addition, with the conventional sinusoidal synthetic coding,low-pitch speech, particularly, male speech, tends to become unnatural“stuffed” speech.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide a speechencoding method and apparatus and a speech decoding method and apparatuswhereby the explosive or fricative consonants can be correctlyreproduced without the risk of a strange sound being generated in atransition portion between the voiced speech and the unvoiced speech,and whereby the speech of high clarity devoid of “stuffed” feeling canbe produced.

With the speech encoding method of the present invention, in which aninput speech signal is divided on the time axis in terms of pre-setencoding units and subsequently encoded in terms of the pre-set encodingunits, short-term prediction residuals of the input speech signal arefound, the short-term prediction residuals thus found are encoded withsinusoidal analytic encoding, and the input speech signal is encoded bywaveform encoding.

The input speech signal is discriminated as to whether it is voiced orunvoiced. Based on the results of discrimination, the portion of theinput speech signal judged to be voiced is encoded with the sinusoidalanalytic encoding, while the portion thereof judged to be unvoiced isprocessed with vector quantization of the time-axis waveform by aclosed-loop search of an optimum vector using an analysis-by-synthesismethod.

It is preferred that, for the sinusoidal analytic encoding, perceptuallyweighted vector or matrix quantization is used for quantizing theshort-term prediction residuals, and that, for such perceptuallyweighted vector or matrix quantization, the weight is calculated basedon the results of orthogonal transform of parameters derived from theimpulse response of the weight transfer function.

According to the present invention, the short-term prediction residuals,such as LPC residuals, of the input speech signal, are found, and theshort-term prediction residuals are represented by a synthesizedsinusoidal wave, while the input speech signal is encoded by waveformencoding of phase transmission of the input speech signal, thusrealizing efficient encoding.

In addition, the input speech signal is discriminated as to whether itis voiced or unvoiced and, based on the results of discrimination, theportion of the input speech signal judged to be voiced is encoded by thesinusoidal analytic encoding, while the portion thereof judged to beunvoiced is processed with vector quantization of the time-axis waveformby the closed loop search of the optimum vector using theanalysis-by-synthesis method, thereby improving the expressiveness ofthe unvoiced portion to produce a reproduced speech of high clarity. Inparticular, such effect is enhanced by raising the quantization rate. Itis also possible to prevent extraneous sound from being produced at thetransient portion between the voiced and unvoiced portions. The seemingsynthesized speech at the voiced portion is diminished to produce morenatural synthesized speech.

By calculating the weight at the time of weighted vector quantization ofthe parameters of the input signal converted into the frequency domainsignal based on the results of orthogonal transform of the parametersderived from the impulse response of the weight transfer function, theprocessing volume may be diminished to a fractional value therebysimplifying the structure or expediting the processing operations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a basic structure of a novel speechsign encoding apparatus (encoder) according to the present invention forcarrying out the encoding method according to the present invention.

FIG. 2 is a block diagram showing a basic structure of a novel speechsignal decoding apparatus (decoder) according to the present inventionfor carrying out the decoding method according to the present invention.

FIG. 3 is a block diagram showing the speech signal encoder shown inFIG. 1 in more detail.

FIG. 4 is a block diagram showing the speech signal decoder shown inFIG. 2 in more detail.

FIG. 5 is a block diagram showing a basic structure of an LPC quantizer.

FIG. 6 is a lock diagram showing a more detailed structure of the LPCquantizer of FIG. 5.

FIG. 7 is a block diagram showing a basic structure of the vectorquantizer.

FIG. 8 is a block diagram showing a more detailed structure of thevector quantizer of FIG. 7.

FIG. 9 is a flowchart for illustrating the example of a processingsequence for calculating the weight used for vector quantization.

FIG. 10 is a block circuit diagram showing the structure of a CELPcoding part (second encoding part) of the speech signal encoderaccording to the present invention.

FIG. 11 is a flowchart for illustrating the processing flow in thearrangement of FIG. 10.

FIG. 12 shows the state of the Gaussian noise and the noise afterclipping at different threshold values.

FIG. 13 is a flowchart showing the processing flow at the time ofgenerating a shape codebook by learning.

FIG. 14 illustrates 10-order linear spectrum pairs (LSPs) derived fromα-parameters obtained by 10-order LPC analysis.

FIG. 15 illustrates the manner of gain change from a UV frame to a Vframe.

FIG. 16 illustrates the manner of interpolation of the spectrum and thewaveform synthesized from frame to frame.

FIG. 17 illustrates the manner of overlap at a junction between thevoiced (V) portion and the unvoiced (UV) portion.

FIG. 18 illustrates the operation of noise addition at the time ofsynthesis of the voiced sound.

FIG. 19 illustrates an example of the amplitude of the noise added atthe time of synthesis of the voiced sound.

FIG. 20 illustrates an example of a post-filter.

FIG. 21 illustrates the gain updating period and the filter coefficientupdating period of a post-filter.

FIG. 22 illustrates processing for a junction portion at the frameboundary of the gain and filter coefficients of a post-filter.

FIG. 23 is a block diagram showing the transmitting side of a portableterminal employing a speech signal encoder according to the presentinvention.

FIG. 24 is a block diagram showing the receiving side of a portableterminal employing a speech signal decoder according to the presentinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to the drawings, preferred embodiments of the presentinvention will be explained in detail.

FIG. 1 shows the basic structure of an encoding apparatus (encoder) forcarrying out a speech encoding method according to the presentinvention.

The basic concept underlying the speech signal encoder of FIG. 1 is thatthe encoder has a first encoding unit 110 for finding short-termprediction residuals, such as linear prediction encoding (LPC)residuals, of the input speech signal, in order to effect sinusoidalanalysis, such as harmonic coding, and a second encoding unit 120 forencoding the input speech signal by waveform encoding having phasereproducibility, and that the first encoding unit 110 and the secondencoding unit 120 are used for encoding the voiced (V) portion of theinput signal and for encoding the unvoiced (UV) portion of the inputsignal, respectively.

The first encoding unit 110 employs the encoding of the LPC residuals,for example, with sinusoidal analytic encoding, such as harmonicencoding or multi-band excitation (MBE) encoding. The second encodingunit 120 performs code excited linear prediction (CELP) using vectorquantization by closed loop search of an optimum vector and also uses,for example, an analysis by synthesis method.

In the embodiment shown in FIG. 1, the speech signal supplied to aninput terminal 101 is sent to an LPC inverted filter 111 and an LPCanalysis and quantization unit 113 of a first encoding unit 110. The LPCcoefficients or the so-called α-parameters, obtained by an LPC analysisquantization unit 113, are sent to the LPC inverted filter 111 of thefirst encoding unit 110. From the LPC inverted filter 111 are taken outlinear prediction residuals (LPC residuals) of the input speech signal.From the LPC analysis quantization unit 113, a quantized output oflinear spectrum pairs (LSPs) are taken out and sent to an outputterminal 102, as later explained. The LPC residuals from the LPCinverted filter 111 are sent to a sinusoidal analytic encoding unit 114.The sinusoidal analytic encoding unit 114 performs pitch detection andcalculations of the amplitude of the spectral envelope as well as V/UVdiscrimination by a V/UV discrimination unit 115. The spectra envelopeamplitude data from the sinusoidal analytic encoding unit 114 is sent toa vector quantization unit 116. The codebook index from the vectorquantization unit 116, as a vector-quantized output of the spectralenvelope, is sent via a switch 117 to an output terminal 103, while anoutput of the sinusoidal analytic encoding unit 114 is sent via a switch118 to an output terminal 104. A V/UV discrimination output of the V/UVdiscrimination unit 115 is sent to an output terminal 105 and, as acontrol signal, to the switches 117, 118. If the input speech signal isa voiced (V) sound, the index and the pitch are selected and taken outat the output terminals 103, 104, respectively.

The second encoding unit 120 of FIG. 1 has, in the present embodiment, acode excited linear prediction coding (CELP coding) configuration, andvector-quantizes the time-domain waveform using a closed loop searchemploying an analysis by synthesis method in which an output of a noisecodebook 121 is synthesized by a weighted synthesis filter 122. Theresulting weighted speech is sent to one input of a subtractor 123 whoseother input is the speech signal supplied to the input terminal 101 andthence through a perceptually weighting filter 125. The error thus foundbetween the two inputs of the subtractor 123 is sent to a distancecalculation circuit 124 to effect distance calculations and a vectorminimizing the error is searched by the noise codebook 121. This CELPencoding is used for encoding the unvoiced speech portion, as explainedpreviously. The codebook index, as the UV data from the noise codebook121, is taken out at an output terminal 107 via a switch 127 which isturned on when the result of the V/UV discrimination is unvoiced (UV).

FIG. 2 is a block diagram showing the basic structure of a speech signaldecoder, as a counterpart device of the speech signal encoder of FIG. 1,for carrying out the speech decoding method according to the presentinvention.

Referring to FIG. 2, a codebook index as a quantization output of thelinear spectral pairs (LSPs) from the output terminal 102 of FIG. 1 issupplied to an input terminal 202. Outputs of the output terminals 104,105, and 103 of FIG. 1, that is, the pitch, V/UV discrimination output,and the index data, as envelope quantization output data, are suppliedrespectively to input terminals 204, 205, and 203. The index data asdata for the unvoiced data are supplied from the output terminal 107 ofFIG. 1 to an input terminal 207.

The index as the envelope quantization output of the input terminal 203is sent to an inverse vector quantization unit 212 for inverse vectorquantization to find a spectral envelope of the LPC residues which issent to a voiced speech synthesizer 211. The voiced speech synthesizer211 synthesizes the linear prediction encoding (LPC) residuals of thevoiced speech portion by sinusoidal synthesis. The synthesizer 211 isfed also with the pitch and the V/UV discrimination output from theinput terminals 204, 205. The LPC residuals of the voiced speech fromthe voiced speech synthesis unit 211 are sent to an LPC synthesis filter214. The index data of the UV data from the input terminal 207 is sentto an unvoiced sound synthesis unit 220 where reference is had to thenoise codebook for taking out the LPC residuals of the unvoiced portion.These LPC residuals are also sent to the LPC synthesis filter 214. Inthe LPC synthesis filter 214, the LPC residuals of the voiced portionand the LPC residuals of the unvoiced portion are processed by LPCsynthesis. Alternatively, the LPC residuals of the voiced portion andthe LPC residuals of the unvoiced portion summed together may beprocessed with LPC synthesis. The LSP index data from the input terminal202 is sent to the LPC parameter reproducing unit 213 where α-parametersof the LPC are taken out and sent to the LPC synthesis filter 214. Thespeech signals synthesized by the LPC synthesis filter 214 are taken outat an output terminal 201.

Referring to FIG. 3, a more detailed structure of a speech signalencoder shown in FIG. 1 is now explained. In FIG. 3, the parts orcomponents similar to those shown in FIG. 1 are denoted by the samereference numerals.

In the speech signal encoder shown in FIG. 3, the speech signalssupplied to the input terminal 101 are filtered by a high-pass filterHPF 109 for removing signals of an unneeded range and thence supplied toan LPC analysis circuit 132 of the LPC analysis/quantization unit 113and to the inverted LPC filter 111.

The LPC analysis circuit 132 of the LPC analysis/quantization unit 113applies a Hamming window, with a length of the input signal waveform onthe order of 256 samples as a block, and finds a linear predictioncoefficient, that is a so-called α-parameter, by the autocorrelationmethod. The framing interval as a data outputting unit is set toapproximately 160 samples. If the sampling frequency fs is 8 kHz, forexample, a one-frame interval is 20 msec or 160 samples.

The α-parameter from the LPC analysis circuit 132 is sent to an α-LSPconversion circuit 133 for conversion into line spectrum pair (LSP)parameters. This converts the α-parameter, as found by direct typefilter coefficient, into for example, ten, that is five pairs of the LSPparameters. This conversion is carried out by, for example, theNewton-Rhapson method. The reason the α-parameters are converted intothe LSP parameters is that the LSP parameter is superior ininterpolation characteristics to the α-parameters.

The LSP parameters from the α-LSP conversion circuit 133 are matrix- orvector quantized by the LSP quantizer 134. It is possible to take aframe-to-frame difference prior to vector quantization, or to collectplural frames in order to perform matrix quantization. In the presentcase, two frames, each 20 msec long, of the LSP parameters, calculatedevery 20 msec, are handled together and processed with matrixquantization and vector quantization.

The quantized output of the quantizer 134, that is the index data of theLSP quantization, are taken out at a terminal 102, while the quantizedLSP vector is sent to an LSP interpolation circuit 136.

The LSP interpolation circuit 136 interpolates the LSP vectors,quantized every 20 msec or 40 msec, in order to provide an octatuplerate. That is, the LSP vector is updated every 2.5 msec. The reason isthat, if the residual waveform is processed with the analysis/synthesisby the harmonic encoding/decoding method, the envelope of the syntheticwaveform presents an extremely toothed waveform, so that, if the LPCcoefficients are changed abruptly every 20 msec, a foreign noise islikely to be produced. That is, if the LPC coefficient is changedgradually every 2.5 msec, such foreign noise may be prevented fromoccurrence.

For inverted filtering of the input speech using the interpolated LSPvectors produced every 2.5 msec, the LSP parameters are converted by anLSP to α conversion circuit 137 into α-parameters, which are filtercoefficients of e.g., ten-order direct type filter. An output of the LSPto α conversion circuit 137 is sent to the LPC inverted filter circuit111 which then performs inverse filtering for producing a smooth outputusing an α-parameter updated every 2.5 msec. An output of the inverseLPC filter 111 is sent to an orthogonal transform circuit 145, such as aDCT circuit, of the sinusoidal analysis encoding unit 114, such as aharmonic encoding circuit.

The α-parameter from the LPC analysis circuit 132 of the LPCanalysis/quantization unit 113 is sent to a perceptual weighting filtercalculating circuit 139 where data for perceptual weighting is found.These weighting data are sent to a perceptual weighting vector quantizer116, perceptual weighting filter 125 and the perceptual weightedsynthesis filter 122 of the second encoding unit 120.

The sinusoidal analysis encoding unit 114 of the harmonic encodingcircuit analyzes the output of the inverted LPC filter 111 by a methodof harmonic encoding. That is, pitch detection, calculations of theamplitudes Am of the respective harmonics and voiced (V)/unvoiced (UV)discrimination, are carried out and the numbers of the amplitudes Am orthe envelopes of the respective harmonics, varied with the pitch, aremade constant by dimensional conversion.

In an illustrative example of the sinusoidal analysis encoding unit 114shown in FIG. 3, commonplace harmonic encoding is used. In particular,in multi-band excitation (MBE) encoding, it is assumed in modelling thatvoiced portions and unvoiced portions are present in each frequency areaor band at the same time point (in the same block or frame). In otherharmonic encoding techniques, it is uniquely judged whether the speechin one block or in one frame is voiced or unvoiced. In the followingdescription, a given frame is judged to be UV if the totality of thebands is UV, insofar as the MBE encoding is concerned. Specifiedexamples of the technique of the analysis synthesis method for MBE asdescribed above may be found in JP Patent Application No. 4-91442 filedin the name of the Assignee of the present Application.

The open-loop pitch search unit 141 and the zero-crossing counter 142 ofthe sinusoidal analysis encoding unit 114 of FIG. 3 are fed with theinput speech signal from the input terminal 101 and with the signal fromthe high-pass filter (HPF) 109, respectively. The orthogonal transformcircuit 145 of the sinusoidal analysis encoding unit 114 is suppliedwith LPC residuals or linear prediction residuals from the inverted LPCfilter 111. The open loop pitch search unit 141 takes the LPC residualsof the input signals to perform a relatively rough or course pitchsearch by open loop processing. The extracted rough pitch data is sentto a fine pitch search unit 146 by closed loop search as laterexplained. From the open loop pitch search unit 141, the maximum valueof the normalized self correlation r(p), obtained by normalizing themaximum value of the autocorrelation of the LPC residuals along with therough pitch data, are taken out along with the rough pitch data so as tobe sent to the V/UV discrimination unit 115.

The orthogonal transform circuit 145 performs orthogonal transform, suchas discrete Fourier transform (DFT), for converting the LPC residuals onthe time axis into spectral amplitude data on the frequency axis. Anoutput of the orthogonal transform circuit 145 is sent to the fine pitchsearch unit 146 and a spectral evaluation unit 148 configured forevaluating the spectral amplitude or envelope.

The fine pitch search unit 146 is fed with relatively rough pitch dataextracted by the open loop pitch search unit 141 and withfrequency-domain data obtained by DFT by the orthogonal transform unit145. The fine pitch search unit 146 swings the pitch data byplus-or-minus several samples, at a rate of 0.2 to 0.5, centered aboutthe rough pitch value data, in order to arrive ultimately at the valueof the fine pitch data having an optimum decimal point (floating point).The analysis by synthesis method is used as the fine search techniquefor selecting a pitch so that the power spectrum will be closest to thepower spectrum of the original sound. Pitch data from the closed-loopfine pitch search unit 146 is sent to an output terminal 104 via aswitch 118.

In the spectral evaluation unit 148, the amplitude of each of theharmonics and the spectral envelope as the sum of the harmonics areevaluated based on the spectral amplitude and the pitch as theorthogonal transform output of the LPC residuals, and sent to the finepitch search unit 146, V/UV discrimination unit 115 and to theperceptually weighted vector quantization unit 116.

The V/UV discrimination unit 115 discriminates V/UV of a frame based onan output of the orthogonal transform circuit 145, an optimum pitch fromthe fine pitch search unit 146, spectral amplitude data from thespectral evaluation unit 148, maximum value of the normalizedautocorrelation r(p) from the open loop pitch search unit 141 and thezero-crossing count value from the zero-crossing counter 142. Inaddition, the boundary position of the band-based V/UV discriminationfor the MBE may also be used as a condition for V/UV discrimination. Adiscrimination output of the V/UV discrimination unit 115 is taken outat an output terminal 105.

An output unit of the spectrum evaluation unit 148 or an input unit ofthe vector quantization unit 116 may be provided with a number from adata conversion unit (a unit performing a sort of sampling rateconversion). The number from the data conversion unit may be used forsetting the amplitude data |Am| of an envelope to a constant value inconsideration that the number of bands split on the frequency axis andthe number of data differ with the pitch. That is, if the effective bandis up to 3400 kHz, the effective band can be split into 8 to 63 bandsdepending on the pitch. The number of mMX+1 of the amplitude data |Am|,obtained from band to band, is changed in a range from 8 to 63. Thus,the data number conversion unit (not shown) converts the amplitude dataof the variable number mMx+1 to a pre-set number M of data, such as 44data.

The amplitude data or envelope data of the pre-set number M, such as 44,from the data number conversion unit, provided at an output unit of thespectral evaluation unit 148 or at an input unit of the vectorquantization unit 116, are handled together in terms of a pre-set numberof data, such as 44 data, as a unit, by the vector quantization unit116, by way of performing weighted vector quantization. This weight issupplied by an output of the perceptual weighting filter calculationcircuit 139. The index of the envelope from the vector quantizer 116 istaken out by a switch 117 at an output terminal 103. Prior to weightedvector quantization, it is advisable to take inter-frame differenceusing a suitable leakage coefficient for a vector made up of a pre-setnumber of data.

The second encoding unit 120 is now further explained. The secondencoding unit 120 has a so-called CELP encoding structure and is used inparticular for encoding the unvoiced portion of the input speech signal.In the CELP encoding structure for the unvoiced portion of the inputspeech signal, a noise output, corresponding to the LPC residuals of theunvoiced sound, as a representative output value of the noise codebook,or a so-called stochastic codebook 121, is sent via a gain controlcircuit 126 to a perceptually weighted synthesis filter 122. Theweighted synthesis filter 122 LPC synthesizes the input noise by LPCsynthesis and sends the produced weighted unvoiced signal to thesubtractor 123. The subtractor 123 is fed with a signal supplied fromthe input terminal 101 via an high-pass filter (HPF) 109 andperceptually weighted by a perceptual weighting filter 125. Thesubtractor finds the difference or error between the signal and thesignal from the synthesis filter 122. Meanwhile, a zero input responseof the perceptually weighted synthesis filter is previously subtractedfrom an output of the perceptual weighting filter output 125. This erroris fed to a distance calculation circuit 124 for calculating thedistance. A representative vector value which will minimize the error issearched in the noise codebook 121. The above is the summary of thevector quantization of the time-domain waveform employing theclosed-loop search by the analysis by synthesis method.

As data for the unvoiced (UV) portion from the second encoder 120employing the CELP coding structure, the shape index of the codebookfrom the noise codebook 121 and the gain index of the codebook from thegain circuit 126 are taken out. The shape index, which is the UV datafrom the noise codebook 121, is sent to an output terminal 107 s via aswitch 127 s, while the gain index, which is the UV data of the gaincircuit 126, is sent to an output terminal 107 g via a switch 127 g.

These switches 127 s, 127 g and the switches 117, 118 are turned on andoff depending on the results of V/UV decision from the V/UVdiscrimination unit 115. Specifically, the switches 117, 118 are turnedon, if the results of V/UV discrimination of the speech signal of theframe currently transmitted indicates voiced (V), while the switches 127s, 127 g are turned on if the speech signal of the frame currentlytransmitted is unvoiced (UV).

FIG. 4 shows a more detailed structure of a speech signal decoder shownin FIG. 2. In FIG. 4, the same numerals are used to denote thecomponents shown in FIG. 2.

In FIG. 4, a vector quantization output of the LSPs corresponding to theoutput terminal 102 of FIGS. 1 and 3, that is the codebook index, issupplied to an input terminal 202.

The LSP index is sent to the inverse vector quantizer 231 of the LSP forthe LPC parameter reproducing unit 213 so as to be inverse vectorquantized to line spectral pair (LSP) data which are then supplied toLSP interpolation circuits 232, 233 for interpolation. The resultinginterpolated data is converted by the LSP to α conversion circuits 234,235 to a parameters which are sent to the LPC synthesis filter 214. TheLSP interpolation circuit 232 and the LSP to α conversion circuit 234are designed for voiced (V) sound, while the LSP interpolation circuit233 and the LSP to α conversion circuit 235 are designed for unvoiced(UV) sound. The LPC synthesis filter 214 is made up of the LPC synthesisfilter 236 of the voiced speech portion and the LPC synthesis filter 237of the unvoiced speech portion. That is, LPC coefficient interpolationis carried out independently for the voiced speech portion and theunvoiced speech portion for prohibiting ill effects which mightotherwise be produced in the transient portion from the voiced speechportion to the unvoiced speech portion or vice versa by interpolation ofthe LSPs of different properties.

To an input terminal 203 of FIG. 4 is supplied code index datacorresponding to the weighted vector quantized spectral envelope Amcorresponding to the output of the terminal 103 of the encoder of FIGS.1 and 3. To an input terminal 204 is supplied pitch data from theterminal 104 of FIGS. 1 and 3 and, to an input terminal 205 is suppliedV/UV discrimination data from the terminal 105 of FIGS. 1 and 3.

The vector-quantized index data of the spectral envelope Am from theinput terminal 203 is sent to an inverse vector quantizer 212 forinverse vector quantization where a conversion inverted from the datanumber conversion is carried out. The resulting spectral envelope datais sent to a sinusoidal synthesis circuit 215.

If the inter-frame difference is found prior to vector quantization ofthe spectrum during encoding, inter-frame difference is decoded afterinverse vector quantization for producing the spectral envelope data.

The sinusoidal synthesis circuit 215 is fed with the pitch from theinput terminal 204 and the V/UV discrimination data from the inputterminal 205. From the sinusoidal synthesis circuit 215, LPC residualdata corresponding to the output of the LPC inverse filter 111 shown inFIGS. 1 and 3 are taken out and sent to an adder 218. The specifiedtechnique of the sinusoidal synthesis is disclosed in, for example, JPPatent Application Nos. 4-91442 and 6-198451 proposed by the presentAssignee.

The envelope data of the inverse vector quantizer 212 and the pitch andthe V/UV discrimination data from the input terminals 204, 205 are sentto a noise synthesis circuit 216 configured for noise addition for thevoiced portion (V). An output of the noise synthesis circuit 216 is sentto an adder 218 via a weighted overlap-and-add circuit 217.Specifically, the noise is added to the voiced portion of the LPCresidual signals in consideration that, if the excitation as an input tothe LPC synthesis filter of the voiced sound is produced by sine wavesynthesis, a “stuffed” feeling is produced in the low-pitch sound, suchas male speech, and the sound quality is abruptly changed between thevoiced sound and the unvoiced sound, thus producing an unnatural sound.Such noise takes into account the parameters concerned with speechencoding data, such as pitch, amplitudes of the spectral envelope,maximum amplitude in a frame or the residual signal level, in connectionwith the LPC synthesis filter input of the voiced speech portion, thatis excitation.

A sum output of the adder 218 is sent to a synthesis filter 236 for thevoiced sound of the LPC synthesis filter 214 where LPC synthesis iscarried out to form time waveform data which then is filtered by apost-filter 238 v for the voiced speech and sent to the adder 239.

The shape index and the gain index, as UV data from the output terminals107 s and 107 g of FIG. 3, are supplied to the input terminals 207 s and207 g of FIG. 4, respectively, and thence supplied to the unvoicedspeech synthesis unit 220. The shape index from the terminal 207 s issent to the noise codebook 221 of the unvoiced speech synthesis unit220, while the gain index from the terminal 207 g is sent to the gaincircuit 222. The representative value read out from the noise codebook221 is a noise signal component corresponding to the LPC residuals ofthe unvoiced speech. This becomes a pre-set gain amplitude in the gaincircuit 222 and is sent to a windowing circuit 223 so as to be windowedfor smoothing the junction to the voiced speech portion.

An output of the windowing circuit 223 is sent to a synthesis filter 237for the unvoiced (UV) speech of the LPC synthesis filter 214. The datasent to the synthesis filter 237 is processed with LPC synthesis tobecome time waveform data for the unvoiced portion. The time waveformdata of the unvoiced portion is filtered by a post-filter for theunvoiced portion 238 u before being sent to an adder 239.

In the adder 239, the time waveform signal from the post-filter for thevoiced speech 238 v and the time waveform data for the unvoiced speechportion from the post-filter for the unvoiced speech 238 u are added toeach other and the resulting sum data is taken out at the outputterminal 201.

The above-described speech signal encoder can output data of differentbit rates depending on the required sound quality. That is, the outputdata can be output with variable bit rates. For example, if the low bitrate is 2 kbps and the high bit rate is 6 kbps, the output data is dataof the bit rates having the following bit rates shown in Table 1.

TABLE 1 2 kbps 6 kbps U/V decision output 1 bit/20 msec 1 bit/20 msecLSP quantization index 32 bits/40 msec 48 bits/40 msec for voiced speechpitch data 8 bits/ pitch data 8 bits/ (V) 20 msec 20 msec index 15bits/20 msec index data 87 bits/ 20 msec shape (for first stage), shape(for first 5 + 5 stage), 5 + 5 bits/20 msec bits/20 msec gain, 5 bits/20msec gain, 5 bits/ 20 msec gain, (for second stage), 72 bits/20 msec forunvoiced speech index 11 bits/10 msec index 23 bits/ (UV) 5 msec shape(for first stage), shape for first 7 bits/10 msec stage, 9 bits/ gain, 4bits 5 msec 10 msec gain, 6 bits/5 msec shape for second stage, 5 bits/5msec gain, 3 bits/5 msec for voiced speech 40 bits/20 msec 120 bits/20msec for unvoiced speech 39 bits/20 msec 117 bits/20 msec

The pitch data from the output terminal 104 is output at all times at abit rate of 8 bits/20 msec for the voiced speech, with the V/UVdiscrimination output from the output terminal 105 being at all times 1bit/20 msec. The index for LSP quantization, output from the outputterminal 102, is switched between 32 bits/40 msec and 48 bits/40 msec.On the other hand, the index during the voiced speech (V) output by theoutput terminal 103 is switched between 15 bits/20 msec and 87 bits/20msec. The index for the unvoiced (UV) output from the output terminals107 s and 107 g is switched between 11 bits/10 msec and 23 bits/5 msec.The output data for the voiced sound (UV) is 40 bits/20 msec for 2 kbpsand 120 kbps/20 msec for 6 kbps. On the other hand, the output data forthe voiced sound (UV) is 39 bits/20 msec for 2 kbps and 117 kbps/20 msecfor 6 kbps.

The index for LSP quantization, the index for voiced speech (V) and theindex for the unvoiced speech (UV) are explained later on in connectionwith the arrangement of pertinent portions.

Referring to FIGS. 5 and 6, matrix quantization and vector quantizationin the LSP quantizer 134 are explained in more detail.

The α-parameter from the LPC analysis circuit 132 is sent to an α-LSPcircuit 133 for conversion to LSP parameters. If the P-order LPCanalysis is performed in a LPC analysis circuit 132, P α-parameters arecalculated. These P α-parameters are converted into LSP parameters whichare held in a buffer 610 of FIG. 6.

The buffer 610 outputs 2 frames of LSP parameters. The two frames of theLSP parameters are matrix-quantized by a matrix quantizer 620 made up ofa first matrix quantizer 620 ₁ and a second matrix quantizer 620 ₂. Thetwo frames of the LSP parameters are matrix-quantized in the firstmatrix quantizer 620 ₁ and the resulting quantization error is furthermatrix-quantized in the second matrix quantizer 620 ₂. The matrixquantization exploits correlation in both the time axis and in thefrequency axis. The quantization error for two frames from the matrixquantizer 620 ₂ enters a vector quantization unit 640 made up of a firstvector quantizer 640 ₁ and a second vector quantizer 640. The firstvector quantizer 640 ₁ is made up of two vector quantization portions650, 660, while the second vector quantizer 640 ₂ is made up of twovector quantization portions 670, 680. The quantization error from thematrix quantization unit 620 is quantized on the frame basis by thevector quantization portions 650, 660 of the first vector quantizer 640₁. The resulting quantization error vector is further vector-quantizedby the vector quantization portions 670, 680 of the second vectorquantizer 640 ₂. The above described vector quantization exploitscorrelation along the frequency axis.

The matrix quantization unit 620, executing the matrix quantization asdescribed above, includes at least a first matrix quantizer 620 ₁ forperforming a first matrix quantization step and a second matrixquantizer 620 ₂ for performing a second matrix quantization step formatrix quantizing the quantization error produced by the first matrixquantization. The vector quantization unit 640, executing the vectorquantization as described above, includes at least a first vectorquantizer 640 ₁ for performing a first vector quantization step and asecond vector quantizer 640 ₂ for performing a second matrixquantization step for matrix quantizing the quantization error producedby the first vector quantization.

The matrix quantization and the vector quantization will now beexplained in detail.

The LSP parameters for two frames, stored in the buffer 610, that is a10×2 matrix, is sent to the first matrix quantizer 620 ₁. The firstmatrix quantizer 620 ₁ sends LSP parameters for two frames via LSPparameter adder 621 to a weighted distance calculating unit 623 forfinding the weighted distance of the minimum value.

The distortion measure d_(MQ1) during codebook search by the firstmatrix quantizer 620 ₁ is given by the equation (1):

$\begin{matrix}{{d_{MQ1}\left( {X_{1},X_{1}^{\prime}} \right)} = {\sum\limits_{t = 0}^{1}\;{\sum\limits_{i = 1}^{P}\;{{w\left( {t,i}\; \right)}\left( {{x_{1}\left( {t,i} \right)} - {x_{1}^{\prime}\left( {t,i} \right)}} \right)^{2}}}}} & (1)\end{matrix}$where X₁ is the LSP parameter and X₁ is the quantization value, with tand i being the numbers of the P-dimension.

The weight w, in which weight limitation in the frequency axis and inthe time axis is not taken into account, is given by the equation (2):

$\begin{matrix}{{w\left( {t,i} \right)} = {\frac{1}{{x\left( {t,{i + 1}} \right)} - {x\left( {t,i} \right)}} + \frac{1}{{x\left( {t,i} \right)} - {x\left( {t,{i - 1}} \right)}}}} & (2)\end{matrix}$where x(t, 0)=0, x(t, p+1)=π regardless of t.

The weight w of the equation (2) is also used for downstream side matrixquantization and vector quantization.

The calculated weighted distance is sent to a matrix quantizer MQ₁ 622for matrix quantization. An 8-bit index output by this matrixquantization is sent to a signal switcher 690. The quantized value bymatrix quantization is subtracted in an adder 621 from the LSPparameters for two frames from the buffer 610. A weighted distancecalculating unit 623 calculates the weighted distance every two framesso that matrix quantization is carried out in the matrix quantizationunit 622. Also, a quantization value minimizing the weighted distance isselected. An output of the adder 621 is sent to an adder 631 of thesecond matrix quantizer 620 ₂.

Similarly to the first matrix quantizer 620 ₁, the second matrixquantizer 620 ₂ performs matrix quantization. An output of the adder 621is sent via adder 631 to a weighted distance calculation unit 633 wherethe minimum weighted distance is calculated.

The distortion measure d_(MQ2) during the codebook search by the secondmatrix quantizer 620 ₂ is given by the equation (3):

$\begin{matrix}{{d_{MQ2}\left( {X_{2},X_{2}^{\prime}} \right)} = {\sum\limits_{t = 0}^{1}\;{\sum\limits_{i = 1}^{P}\;{{w\left( {t,i}\; \right)}\left( {{x_{2}\left( {t,i} \right)} - {x_{2}^{\prime}\left( {t,i} \right)}} \right)^{2}}}}} & (3)\end{matrix}$

The weighted distance is sent to a matrix quantization unit (MQ₂) 632for matrix quantization. An 8-bit index, output by matrix quantization,is sent to a signal switcher 690. The weighted distance calculation unit633 sequentially calculates the weighted distance using the output ofthe adder 631. The quantization value minimizing the weighted distanceis selected. An output of the adder 631 is sent to the adders 651, 661of the first vector quantizer 640 ₁ frame by frame.

The first vector quantizer 640 ₁ performs vector quantization frame byframe. An output of the adder 631 is sent frame by frame to each ofweighted distance calculating units 653, 663 via adders 651, 661 forcalculating the minimum weighted distance.

The difference between the quantization error X₂ and the quantizationerror X₂′ is a matrix of (10×2). If the difference is represented asX₂−X₂=[x ₃₋₁, x ₃₋₂], the distortion measures d_(VQ1), d_(VQ2) duringcodebook search by the vector quantization units 652, 662 of the firstvector quantizer 640 ₁ are given by the equations (4) and (5):

$\begin{matrix}{{d_{VQ1}\left( {{\underset{\_}{x}}_{3 - 1},{\underset{\_}{x}}_{3 - 1}^{\prime}} \right)} = \;{\sum\limits_{i = 1}^{P}\;{{w\left( {0,i}\; \right)}\left( {{x_{3 - 1}\left( {0,i} \right)} - {x_{3 - 1}^{\prime}\left( {0,i} \right)}} \right)^{2}}}} & (4) \\{{d_{VQ2}\left( {{\underset{\_}{x}}_{3 - 2},{\underset{\_}{x}}_{3 - 2}^{\prime}} \right)} = \;{\sum\limits_{i = 1}^{P}\;{{w\left( {1,i}\; \right)}\left( {{x_{3 - 2}\left( {1,i} \right)} - {x_{3 - 2}^{\prime}\left( {1,i} \right)}} \right)^{2}}}} & (5)\end{matrix}$

The weighted distance is sent to a vector quantization unit VQ₁ 652 anda vector quantization unit VQ₂ 662 for vector quantization. Each 8-bitindex output by this vector quantization is sent to the signal switcher690. The quantization value is subtracted by the adders 651, 661 fromthe input two-frame quantization error vector. The weighted distancecalculating units 653, 663 sequentially calculate the weighted distance,using the outputs of the adders 651, 661, for selecting the quantizationvalue minimizing the weighted distance. The outputs of the adders 651,661 are sent to adders 671, 681 of the second vector quantizer 640 ₂.

The distortion measure d_(VQ3), d_(VQ4) during codebook searching by thevector quantizers 672, 682 of the second vector quantizer 640 ₂, forx ₄₋₁ =x ₃₋₁ −x ₃₋₁′x ₄₋₂ =x ₃₋₂ −x ₃₋₂′are given by the equations (6) and (7):

$\begin{matrix}{{d_{VQ3}\left( {{\underset{\_}{x}}_{4 - 1},{\underset{\_}{x}}_{4 - 1}^{\prime}} \right)} = \;{\sum\limits_{i = 1}^{P}\;{{w\left( {0,i}\; \right)}\left( {{x_{4 - 1}\left( {0,i} \right)} - {x_{4 - 1}^{\prime}\left( {0,i} \right)}} \right)^{2}}}} & (6) \\{{d_{VQ4}\left( {{\underset{\_}{x}}_{4 - 2},{\underset{\_}{x}}_{4 - 2}^{\prime}} \right)} = \;{\sum\limits_{i = 1}^{P}\;{{w\left( {1,i}\; \right)}\left( {{x_{4 - 2}\left( {1,i} \right)} - {x_{4 - 2}^{\prime}\left( {1,i} \right)}} \right)^{2}}}} & (7)\end{matrix}$

These weighted distances are sent to the vector quantizer (VQ₃) 672 andto the vector quantizer (VQ₄) 682 for vector quantization. The 8-bitoutput index data from vector quantization are subtracted by the adders671, 681 from the input quantization error vector for two frames. Theweighted distance calculating units 673, 683 sequentially calculate theweighted distances using the outputs of the adders 671, 681 forselecting the quantized value minimizing the weighted distances.

During codebook learning, learning is performed by the general Lloydalgorithm based on the respective distortion measures.

The distortion measures during codebook searching and during learningmay be of the same or different values.

The 8-bit index data from the matrix quantization units 622, 632 and thevector quantization units 652, 662, 672 and 682 are switched by thesignal switcher 690 and output at an output terminal 691.

Specifically, for a low-bit rate, outputs of the first matrix quantizer620 ₁ carrying out the first matrix quantization step, second matrixquantizer 620 ₂ carrying out the second matrix quantization step, andthe first vector quantizer 640 ₁ carrying out the first vectorquantization step are taken out, whereas, for a high bit rate, theoutput for the low bit rate is summed to an output of the second vectorquantizer 640 ₂ carrying out the second vector quantization step and theresulting sum is taken out.

This produces an index of 32 bits/40 msec and an index of 48 bits/40msec for 2 kbps and 6 kbps, respectively.

The matrix quantization unit 620 and the vector quantization unit 640perform weighting limited in the frequency axis and/or the time axis inconformity to characteristics of the parameters representing the LPCcoefficients.

The weighting limited in the frequency axis in conformity tocharacteristics of the LSP parameters is first explained. If the numberof orders P=10, the LSP parameters X(i) are grouped intoL ₁ ={X(i) |1≦i≦2}L ₂ ={X(i) |3≦i≦6}L ₃ ={X(i) |7≦i≦10}for three ranges of low, mid and high ranges. If the weighting of thegroups L₁, L₂ and L₃ is ¼, ½ and ¼, respectively, the weighting limitedonly in the frequency axis is given by the equations (8), (9) and (10)

$\begin{matrix}{{w^{\prime}(i)} = {\frac{w(i)}{\sum\limits_{j = 1}^{2}\;{w(j)}} \times \frac{1}{4}}} & (8) \\{{w^{\prime}(i)} = {\frac{w(i)}{\sum\limits_{j = 3}^{6}\;{w(j)}} \times \frac{1}{2}}} & (9) \\{{w^{\prime}(i)} = {\frac{w(i)}{\sum\limits_{j = 7}^{10}\;{w(j)}} \times \frac{1}{4}}} & (10)\end{matrix}$

The weighting of the respective LSP parameters is performed in eachgroup only and such weight is limited by the weighting for each group.

Looking in the time axis direction, the sum total of the respectiveframes is necessarily 1, so that limitation in the time axis directionis frame-based. The weight limited only in the time axis direction isgiven by the equation (11):

$\begin{matrix}{{w^{\prime}\left( {i,t} \right)} = \frac{w\left( {i,t} \right)}{\sum\limits_{j = 1}^{10}\;{\sum\limits_{s = 0}^{1}\;{w\left( {j,s} \right)}}}} & (11)\end{matrix}$where 1≦i≦10 and 0≦t≦1.

By this equation (11), weighting not limited in the frequency axisdirection is carried out between two frames having the frame numbers oft=0 and t=1. This weighting limited only in the time axis direction iscarried out between two frames processed with matrix quantization.

During learning, the totality of frames used as learning data, havingthe total number T, is weighted in accordance with the equation (12):

$\begin{matrix}{{w^{\prime}\left( {i,t} \right)} = \frac{w\left( {i,t} \right)}{\sum\limits_{j = 1}^{10}\;{\sum\limits_{s = 0}^{T}\;{w\left( {j,s} \right)}}}} & (12)\end{matrix}$where 1≦i≦10 and 0≦t≦T.

The weighting limited in the frequency axis direction and in the timeaxis direction is explained. If the number of orders P=10, the LSPparameters x(i, t) are grouped intoL ₁ ={x(i, t)|1≦i≦2, 0≦t≦1}L ₂ ={x(i, t)|3≦i≦6, 0≦t≦1}L ₃ ={x(i, t)|7≦i≦10, 0≦t≦1}for three ranges of low, mid and high ranges. If the weights for thegroups L₁, L₂ and L₃ are ¼, ½ and ¼, the weighting limited only in thefrequency axis is given by the equations (13), (14) and (15):

$\begin{matrix}{{w^{\prime}\left( {i,t} \right)} = {\frac{w\left( {i,t} \right)}{\sum\limits_{j = 1}^{2}{\sum\limits_{s = 0}^{1}\;{w\left( {j,s} \right)}}} \times \frac{1}{4}}} & (13) \\{{w^{\prime}\left( {i,t} \right)} = {\frac{w\left( {i,t} \right)}{\sum\limits_{j = 3}^{6}{\sum\limits_{s = 0}^{1}\;{w\left( {j,s} \right)}}} \times \frac{1}{2}}} & (14) \\{{w^{\prime}\left( {i,t} \right)} = {\frac{w\left( {i,t} \right)}{\sum\limits_{j = 7}^{10}{\sum\limits_{s = 0}^{1}\;{w\left( {j,s} \right)}}} \times \frac{1}{4}}} & (15)\end{matrix}$

By these equations (13) to (15) weighting limited every three frames inthe frequency axis direction and across two frames processed with matrixquantization is carried out. This is effective both during codebooksearch and during learning.

During learning, weighting is for the totality of frames of the entiredata. The LSP parameters x(i, t) are grouped intoL ₁ ={x(i, t)|1≦i≦2, 0≦t≦T}L ₂ ={x(i, t)|3≦i≦6, 0≦t≦T}L ₃ ={x(i, t)|7≦i≦10, 0≦t≦T}for low, mid and high ranges. If the weighting of the groups L₁, L₂ andL₃ is ¼, ½ and ¼, respectively, the weighting for the groups L₁, L₂ andL₃, limited only in the frequency axis, is given by the equations (16),(17) and (18):

$\begin{matrix}{{w^{\prime}\left( {i,t} \right)} = {\frac{w\left( {i,t} \right)}{\sum\limits_{j = 1}^{2}\;{\sum\limits_{s = 0}^{T}\;{w\left( {j,s} \right)}}} \times \frac{1}{4}}} & (16) \\{{w^{\prime}\left( {i,t} \right)} = {\frac{w\left( {i,t} \right)}{\sum\limits_{j = 3}^{6}\;{\sum\limits_{s = 0}^{T}\;{w\left( {j,s} \right)}}} \times \frac{1}{2}}} & (17) \\{{w^{\prime}\left( {i,t} \right)} = {\frac{w\left( {i,t} \right)}{\sum\limits_{j = 7}^{10}\;{\sum\limits_{s = 0}^{T}\;{w\left( {j,s} \right)}}} \times \frac{1}{4}}} & (18)\end{matrix}$

By these equations (16) to (18), weighting can be performed for threeranges in the frequency axis direction and across the totality of framesin the time axis direction.

In addition, the matrix quantization unit 620 and the vectorquantization unit 640 perform weighting depending on the magnitude ofchanges in the LSP parameters. In V to UV or UV to V transient regions,which represent minority frames among the totality of speech frames, theLSP parameters are changed significantly due to differences in thefrequency response between consonants and vowels. Therefore, theweighting shown by the equation (19) may be multiplied by the weightingW′(i, t) for carrying out the weighting placing emphasis on thetransition regions.

$\begin{matrix}{{{wd}(t)} = {\sum\limits_{i = 1}^{10}\;{{{x_{1}\left( {i,t} \right)} - {x_{1}\left( {i,{t - 1}} \right)}}}^{2}}} & (19)\end{matrix}$

The following equation (20):

$\begin{matrix}{{{wd}(t)} = {\sum\limits_{i = 1}^{10}\sqrt{{{x_{1}\left( {i,t} \right)} - {x_{1}\left( {i,{t - 1}} \right)}}}}} & (20)\end{matrix}$may be used in place of the equation (19).

Thus the LSP quantization unit 134 executes two-stage matrixquantization and two-stage vector quantization to render the number ofbits of the output index variable.

The basic structure of the vector quantization unit 116 is shown in FIG.7, while a more detailed structure of the vector quantization unit 116is shown in FIG. 8. An illustrative structure of weighted vectorquantization for the spectral envelope Am in the vector quantizationunit 116 is now explained.

First, in the speech signal encoding device shown in FIG. 3, anillustrative arrangement for data number conversion for providing aconstant number of data of the amplitude of the spectral envelope on anoutput side of the spectral evaluating unit 148 or on an input side ofthe vector quantization unit 116 is explained.

A variety of methods may be conceived for such data number conversion.In the present embodiment, dummy data interpolating the values from thelast data in a block to the first data in the block, or pre-set datasuch as data repeating the last data or the first data in a block, areappended to the amplitude data of one block of an effective band on thefrequency axis for enhancing the number of data to N_(F), amplitude dataequal in number to Os times, such as eight times, are found by Os-tuple,such as octatuple, oversampling of the limited bandwidth type. The((mMx+1)×Os) amplitude data are linearly interpolated for expansion to alarger N_(M) number, such as 2048. This N_(M) data is sub-sampled forconversion to the above-mentioned pre-set number M of data, such as 44data. In effect, only data necessary for formulating M data ultimatelyrequired is calculated by oversampling and linear interpolation withoutfinding all of the above-mentioned N_(M) data.

The vector quantization unit 116 for carrying out weighted vectorquantization of FIG. 7 at least includes a first vector quantizationunit 500 for performing the first vector quantization step and a secondvector quantization unit 510 for carrying out the second vectorquantization step for quantizing the quantization error vector producedduring the first vector quantization by the first vector quantizationunit 500. This first vector quantization unit 500 is a so-calledfirst-stage vector quantization unit, while the second vectorquantization unit 510 is a so-called second-stage vector quantizationunit.

An output vector x of the spectral evaluation unit 148, that is envelopedata having a pre-set number M, enters an input terminal 501 of thefirst vector quantization unit 500. This output vector x is quantizedwith weighted vector quantization by the vector quantization unit 502.Thus, a shape index output by the vector quantization unit 502 is outputat an output terminal 503, while a quantized value x ₀′ is output at anoutput terminal 504 and sent to adders 505, 513. The adder 505 subtractsthe quantized value x ₀′ from the source vector x to give a multi-orderquantization error vector y.

The quantization error vector y is sent to a vector quantization unit511 in the second vector quantization unit 510. This second vectorquantization unit 511 is made up of plural vector quantizers, or twovector quantizers 511 ₁, 511 ₂ in FIG. 7. The quantization error vectory is dimensionally split so as to be quantized by weighted vectorquantization in the two vector quantizers 511 ₁, 511 ₂. The shape indexoutput by these vector quantizers 511 ₁, 511 ₂ is output at outputterminals 512 ₁, 512 ₂, while the quantized values y₁′, y₂′ areconnected in the dimensional direction and sent to an adder 513. Theadder 513 adds the quantized values y₁′, y₂′ to the quantized value x ₀′to generate a quantized value x ₁′ which is outputted at an outputterminal 514.

Thus, for the low bit rate, an output of the first vector quantizationstep by the first vector quantization unit 500 is taken out, whereas,for the high bit rate, an output of the first vector quantization stepand an output of the second quantization step by the second quantizationunit 510 are outputted.

Specifically, the vector quantizer 502 in the first vector quantizationunit 500 in the vector quantization section 116 is of an L-order, suchas 44-dimensional two-stage structure, as shown in FIG. 8.

That is, the sum of the output vectors of the 44-dimensional vectorquantization codebook with the codebook size of 32, multiplied with again g_(i), is used as a quantized value x ₀′ of the 44-dimensionalspectral envelope vector x. Thus, as shown in FIG. 8, the two codebooksare CB0 and CB1, while the output vectors are s_(1i), s_(1j)′, where 0≦iand j≦31. On the other hand, an output of the gain codebook CB_(g) isg_(l), where 0≦l≦31, where g_(l) is a scalar. An ultimate output x ₀′ isg_(l) (s_(1i)+s_(1j)).

The spectral envelope Am obtained by the above MBE analysis of the LPCresiduals and converted into a pre-set dimension is x. It is crucial howefficiently x is to be quantized.

The quantization error energy E is defined by

$\begin{matrix}\begin{matrix}{E = {{{W\left\{ {{H\underset{\_}{x}} - {{Hgl}\left( \left( {{\underset{\_}{s}}_{0i} + {\underset{\_}{s}}_{1j}} \right) \right\}}} \right.}}^{2}}} \\{= {{{{WH}\left\{ {\underset{\_}{x} - \left\{ {\underset{\_}{x} - {g_{l\;}\left( {{\underset{\_}{s}}_{0i} + {\underset{\_}{s}}_{1j}} \right)}} \right\}} \right.}}^{2}}}\end{matrix} & (21)\end{matrix}$where H denotes characteristics on the frequency axis of the LPCsynthesis filter and W a matrix for weighting for representingcharacteristics for perceptual weighting on the frequency axis.

If the α-parameter by the results of LPC analyses of the current frameis denoted as α_(i) (1≦i≦P), the values of the L-dimension, for example,44-dimension corresponding points, are sampled from the frequencyresponse of the equation (22):

$\begin{matrix}{{H(z)} = \frac{1}{1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}z^{- i}}}}} & (22)\end{matrix}$

For calculations, 0s are stuffed next to a string of 1, α₁, α₂, . . .α_(p) to give a string of 1, α₁, α₂, . . . α_(p), 0, 0, . . . , 0 togive e.g., 256-point data. Then, by 256-point FFT, (r_(e) ²+im²)^(1/2)are calculated for points associated with a range from 0 to π and thereciprocals of the results are found. These reciprocals are sub-sampledto L points, such as 44 points, and a matrix is formed having these Lpoints as diagonal elements:

$H = \begin{bmatrix}{h(1)} & \; & \; & 0 \\\; & {h(2)} & \; & \; \\\; & \; & ⋰ & \; \\0 & \; & \; & {h(L)}\end{bmatrix}$

A perceptually weighted matrix W is given by the equation (23):

$\begin{matrix}{{W(z)} = \frac{1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}\lambda_{b}^{i}z^{- i}}}}{1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}\lambda_{a}^{i}z^{- i}}}}} & (23)\end{matrix}$where α_(i) is the result of the LPC analysis, and λa, λb are constants,such that λa=0.4 and λb=0.9.

The matrix W may be calculated from the frequency response of the aboveequation (23). For example, FFT is executed on 256-point data of 1,α1λb, α2λ1b ², . . . αpλb^(p), 0, 0, . . . , 0 to find (r_(e)²[i]+Im²[i])^(1/2) for a domain from 0 to π, where 0≦i≦128. Thefrequency response of the denominator is found by 256-point FFT for adomain from 0 to X for 1, α1λa, α2λa², . . . , αpλa^(p), 0, 0, . . . , 0at 128 points to find (re′²[i]+im′²[i])^(1/2), where 0≦i≦128. Thefrequency response of the equation 23 may be found by

${w_{0}\lbrack{\mathbb{i}}\rbrack} = \frac{\sqrt{{{re}^{2}\lbrack{\mathbb{i}}\rbrack} + {{im}^{2}\lbrack{\mathbb{i}}\rbrack}}}{\sqrt{{{{re}^{\prime}}^{2}\lbrack{\mathbb{i}}\rbrack} + {{{im}^{\prime}}^{2}\lbrack{\mathbb{i}}\rbrack}}}$where 0≦i≦128. This is found for each associated point of, for example,the 44-dimensional vector, by the following method. More precisely,linear interpolation should be used. However, in the following example,the closest point is used instead.

That is,ω[i]=ω0 [nint(128i/L)], where 1≦i≦L.

In the equation nint(X) is a function which returns a value closest toX.

As for H, h(1), h(2), . . . h(L) are found by a similar method. That is,

$\begin{matrix}{{H = {{\begin{bmatrix}{h(1)} & \; & \; & 0 \\\; & {h(2)} & \; & \; \\\; & \; & ⋰ & \; \\0 & \; & \; & {h(L)}\end{bmatrix}W} = \begin{bmatrix}{w(1)} & \; & \; & 0 \\\; & {w(2)} & \; & \; \\\; & \; & ⋰ & \; \\0 & \; & \; & {w(L)}\end{bmatrix}}}{{WH} = \begin{bmatrix}{{h(1)}{w(1)}} & \; & \; & 0 \\\; & {{h(2)}{w(2)}} & \; & \; \\\; & \; & ⋰ & \; \\0 & \; & \; & {{h(L)}{w(L)}}\end{bmatrix}}} & (24)\end{matrix}$

As another example, H(z)W(z) is first found and the frequency responseis then found for decreasing the number of times of FFT. That is, thedenominator of the equation (25):

$\begin{matrix}{{{H(z)}{W(z)}} = {\frac{1}{1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}z^{- i}}}} \cdot \frac{1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}\lambda_{b}^{i}z^{- i}}}}{1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}\lambda_{a}^{i}z^{- i}}}}}} & (25)\end{matrix}$is expanded to

${\left( {1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}z^{- i}}}} \right)\left( {1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{a}^{i}\lambda_{a}^{i}z^{- i}}}} \right)} = {1{\sum\limits_{i = 1}^{2P}\;{\beta_{i}z^{- i}}}}$256-point data, for example, is produced by using a string of 1, β₁, β₂,. . . , β_(2p), 0, 0, . . . , 0. Then, 256-point FFT is executed, withthe frequency response of the amplitude beingrms[i]=√{square root over (re″² [i]+im″ ² [i])}where 0≦i≦128. From this,

${{wh}_{0}\lbrack{\mathbb{i}}\rbrack} = \frac{\sqrt{{{re}^{2}\lbrack{\mathbb{i}}\rbrack} + {{im}^{2}\lbrack{\mathbb{i}}\rbrack}}}{\sqrt{{{{re}^{\;^{''}}}^{2}\lbrack{\mathbb{i}}\rbrack} + {{{im}^{\;^{''}}}^{2}\lbrack{\mathbb{i}}\rbrack}}}$where 0≦i≦128. This is found for each of corresponding points of theL-dimensional vector. If the number of points of the FFT is small,linear interpolation should be used. However, the closest value isherein is found by:

${{wh}\lbrack i\rbrack} = {{wh}_{0}\left\lbrack {n\mspace{14mu}{{int}\left( {\frac{128}{L} \cdot i} \right)}} \right\rbrack}$where 1≦i≦L. If a matrix having these as diagonal elements is W′,

$\begin{matrix}{W^{\prime} = \begin{bmatrix}{{wh}(1)} & \; & \; & 0 \\\; & {{wh}(2)} & \; & \; \\\; & \; & ⋰ & \; \\0 & \; & \; & {{wh}(L)}\end{bmatrix}} & (26)\end{matrix}$

The equation (26) is the same matrix as the above equation (24).

Alternatively, |H(exp(jω))W(exp(jω))| may be directly calculated fromthe equation (25) with respect to ω≡iπ, where 1≦i≦É, so as to be usedfor wh[i].

Alternatively, a suitable length, such as 40 points, of an impulseresponse of the equation (25) may be found and FFTed to find thefrequency response of the amplitude which is employed.

The method for reducing the volume of processing in calculatingcharacteristics of a perceptual weighting filter and an LPC synthesisfilter is explained.

H(z)W(z) in the equation (25) is Q(z), that is,

$\begin{matrix}{{Q(z)} = {{{H(z)}{W(z)}} = {\frac{1}{1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}z^{- i}}}}*\frac{1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}\lambda_{b}^{i}z^{- i}}}}{1 + {\sum\limits_{i = 1}^{P}\;{\alpha_{i}\lambda_{a}^{i}z^{- i}}}}}}} & ({a1})\end{matrix}$in order to find the impulse response of Q(z) which is set to q(n), with0≦n<L_(imp), where L_(imp) is an impulse response length and, forexample, L_(imp)=40.

In the present embodiment, since P=10, the equation (a1) represents a20-order infinite impulse response (IIR) filter having 30 coefficients.By approximately L_(imp)×3P=1200 sum-of-product operations, L_(imp)samples of the impulse response q(n) of the equation (a1) may be found.By stuffing 0s in q(n), q′(n), where 0≦n≦2^(m), is produced. If, forexample, m=7, 2^(m)−L_(imp)=128−40=88 0s are appended to q(n)(0-stuffing) to provide q′(n).

This q′(n) is FFTed at 2^(m) (=128 points). The real and imaginary partsof the result of FFT are re[i] and im[i], respectively, where 0≦is≦2^(m-1). From this,rm[i]=√{square root over (re² [i]+im ² [i])}  (a2)This is the amplitude frequency response of Q(z), represented by2^(m-1) points. By linear interpolation of neighboring values of rm[i],the frequency response is represented by 2^(m) points. Although higherorder interpolation may be used in place of linear interpolation, theprocessing volume is correspondingly increased. If an array obtained bysuch interpolation is wlpc[i], where 0≦i≦2^(m),wplpc[2i]=rm[i], where 0≦i≦2^(m-1)  (a3)wlpc[2i+1]=(rm[i]+rm[i+1])/2, where 0≦i≦2^(m-1)  (a4)This gives wlpc[i], where 0≦i≦2^(m-1).

From this, wh[i] may be derived bywh[i]=wlpc [nint(1281i/L)], where 1≦i≦É  (a5)where nint(x) is a function which returns an integer closest to x. Theindicates that, by executing one 128-point FFT operation, W′ of theequation (26) may be found by executing one 128-point FFT operation.

The processing volume required for N-point FFT is generally. (N/2)log₂Ncomplex multiplication and Nlog₂N complex addition, which is equivalentto (N/2)log₂N×4 real-number multiplication and Nlog₂N×2 real-numberaddition.

By such method, the volume of the sum-of-product operations for findingthe above impulse response q(n) is 1200. On the other hand, theprocessing volume of FFT for N 2⁷=128 is approximately 128/2×7×4=1792and 128×7×2=1792. If the number of the sum-of-product is one, theprocessing volume is approximately 1792. As for the processing for theequation (a2), the square sum operation, the processing volume of whichis approximately 3, and the square root operation, the processing volumeof which is approximately 50, are executed 2^(m-1)=2⁶=64 times, so thatthe processing volume for the equation (a2) is64×(3+50)=3392.

On the other hand, the interpolation of the equation (a4) is on theorder of 64×2=128.

Thus, in sum total, the processing volume is equal to1200+1792+3392=128=6512.

Since the weight matrix W is used in a pattern of W′^(T)W, only rm²[i]may be found and used without executing the processing for square root.In this case, the above equations (a3) and (a4) are executed for rm²[i]instead of for rm[i], while it is not wh[i] but wh²[i] that is found bythe above equation (a5). The processing volume for finding rm²[i] inthis case is 192, so that, in sum total, the processing volume becomesequal to1200+1792+192+128=3312.

If the processing from the equation (25) to the equation (26) isexecuted directly, the sum total of the processing volume is on theorder of approximately 12160. That is, 256-point FFT is executed forboth the numerator and the denominator of the equation (25). This256-point FFT is on the order of 256/2×8×4=4096. On the other hand, theprocessing for wh₀[i] involves two square sum operations, each havingthe processing volume of 3, division having the processing volume ofapproximately 25 and square sum operations, with the processing volumeof approximately 50. If the square root calculations are omitted in amanner as described above, the processing volume is on the order of128×(3+3+25)=3968. Thus, in sum total, the processing volume is equal to4096×2+3968=12160.

Thus, if the above equation (25) is directly calculated to find wh₀ ²[i]in place of wh₀[i], the processing volume of the order of 12160 isrequired, whereas, if the calculations from the equations (a1) to a(5)are executed, the processing volume is reduced to approximately 3312,meaning that the processing volume may be reduced to one-fourth. Theweight calculation procedure with the reduced processing volume may besummarized as shown in a flowchart of FIG. 9.

Referring to FIG. 9, the above equation (a1) of the weight transferfunction is derived at the first step S91 and, at the next step S92, theimpulse response of (a1) is derived. After 0-appending (0 stuffing) tothis impulse response at step S93, FFT is executed at step S94. If theimpulse response of a length equal to a power of 2 is derived, FFT canbe executed directly without 0 stuffing. At the next step S95, thefrequency characteristics of the amplitude or the square of theamplitude are found. At the next step S96, linear interpolation isexecuted for increasing the number of points of the frequencycharacteristics.

These calculations for finding the weighted vector quantization can beapplied not only to speech encoding but also to encoding of audiblesignals, such as audio signals. That is, in audible signal encoding inwhich the speech or audio signal is represented by DFT coefficients, DCTcoefficients or MDCT coefficients, as frequency-domain parameters, orparameters derived from these parameters, such as amplitudes ofharmonics or amplitudes of harmonics of LPC residuals. The parametersmay be quantized by weighted vector quantization by FFTing the impulseresponse of the weight transfer function or the impulse responseinterrupted partway and stuffed with 0s and calculating the weight basedon the results of the FFT. It is preferred in this case that, afterFFTing the weight impulse response, the FFT coefficients themselves,(re, im) where re and im represent real and imaginary parts of thecoefficients, respectively, re²+im² or (re²+im²)^(1/2), be interpolatedand used as the weight.

If the equation (21) is rewritten using the matrix W′ of the aboveequation (26), that is, the frequency response of the weighted synthesisfilter, we obtain:E=∥W _(k)′( x−g _(k)(s _(0c) +s _(1k)))∥²

The method for learning the shape codebook and the gain codebook is nowfurther explained.

The expected value of the distortion is minimized for all frames k forwhich a code vector s0 _(c) is selected for CB0. If there are M suchframes, it suffices if

$\begin{matrix}{J = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{{W_{k}^{\prime}\left( {\underset{\_}{x} - {g_{k}\left( {{\underset{\_}{s}}_{0c} + {\underset{\_}{s}}_{lk}} \right)}} \right)}}^{2}}}} & (28)\end{matrix}$is minimized. In the equation (28), W_(k)′, X _(k), g_(k) and s_(ik)denote the weighting for the k′th frame, an input to the k′th frame, thegain of the k′th frame, and an output of the codebook CB0 for the k′thframe, respectively.

For minimizing the equation (28),

$\begin{matrix}{J = {{\frac{1}{M}{\sum\limits_{k = 1}^{M}\left\{ {\left( {{\underset{\_}{x}}_{k}^{T} - {g_{k}\left( {{\underset{\_}{s}}_{0c}^{T} + {\underset{\_}{s}}_{1k}^{T}} \right)}} \right)W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {{\underset{\_}{x}}_{k} - {g_{k}\left( {{\underset{\_}{s}}_{0c} + {\underset{\_}{s}}_{1k}} \right)}} \right)}} \right\}}} = {{\frac{1}{M}{\sum\limits_{k = 1}^{M}\left\{ {{{\underset{\_}{x}}_{k}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{x}}_{k}} - {2{g_{k}\left( {{\underset{\_}{s}}_{0c}^{T} + {\underset{\_}{s}}_{1k}^{T}} \right)}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{x}}_{k}} + {{g_{k}^{2}\left( {{\underset{\_}{s}}_{0\; c}^{T} + {\underset{\_}{s}}_{1k}^{T}} \right)}W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {{\underset{\_}{s}}_{0c} + {\underset{\_}{s}}_{1k}} \right)}}} \right\}}} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}\left\{ {{{\underset{\_}{x}}_{k}^{T}W_{k}^{{\prime\; T}\;}W_{k}^{\prime}{\underset{\_}{x}}_{k}} - {2{g_{k}\left( {{\underset{\_}{s}}_{oc}^{T} + {\underset{\_}{s}}_{1k}^{T}} \right)}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{x}}_{k}} + {g_{k}^{2}{\underset{\_}{s}}_{oc}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{s}}_{oc}} + {2g_{k}^{2}{\underset{\_}{s}}_{oc}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{s}}_{1k}} + {g_{k}^{2}{\underset{\_}{s}}_{1k}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{s}}_{1\; k}}} \right\}}}}}} & (29) \\{\frac{\partial J}{\partial{\underset{\_}{s}}_{0c}} = {{\frac{1}{M}{\sum\limits_{k = 1}^{M}\left\{ {{{- 2}g_{k}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{x}}_{k}} + {2g_{k}^{2}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{s}}_{0\; c}} + {2g_{k}^{2}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{s}}_{1\; k}}} \right\}}} = 0}} & (30)\end{matrix}$Hence,

${\sum\limits_{k = 1}^{M}\left( {{g_{k}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{x}}_{k}} - {g_{k}^{2}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{s}}_{lk}}} \right)} = {\sum\limits_{k = 1}^{M}{g^{2}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{s}}_{0c}}}$so that

$\begin{matrix}{s_{0\; c} = {\left\{ {\sum\limits_{k = 1}^{M}{g_{k}^{2}W_{k}^{\prime\; T}W_{k}^{\prime}}} \right\}^{- 1} \cdot \left\{ {\sum\limits_{k = 1}^{M}{g_{k}W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {\underset{\_}{x} - {g_{k}{\underset{\_}{s}}_{lk}}} \right)}}} \right\}}} & (31)\end{matrix}$where ( ) denotes an inverse matrix and W_(k)′^(T) denotes a transposedmatrix of W_(k)′.

Next, gain optimization is considered.

The expected value of the distortion concerning the k′th frame selectingthe code word gc of the gain is given by:

$J_{g} = {{\frac{1}{M}{\sum\limits_{k = 1}^{N}{{W_{k}^{\prime}\left( {{\underset{\_}{x}}_{k} - {g_{c}\left( {{\underset{\_}{s}}_{0\; k} + {\underset{\_}{s}}_{{1\; k}\;}} \right)}} \right)}}^{2}}} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}\left\{ {{{\underset{\_}{x}}_{k}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{x}}_{k}} - {2g_{c}{\underset{\_}{x}}_{k}^{T}W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {{\underset{\_}{s}}_{0k} + {\underset{\_}{s}}_{1k}} \right)}} + {{g_{c}^{2}\left( {{\underset{\_}{s}}_{0\; k}^{T} + {\underset{\_}{s}}_{1\; k}^{T}} \right)}W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {{\underset{\_}{s}}_{0\; k} + {\underset{\_}{s}}_{1\; k}} \right)}}} \right\}}}}$Solving

$\frac{\partial J_{g}}{\partial g_{c}} = {{\frac{1}{M}{\sum\limits_{k = 1}^{M}\left\{ {{{- 2}{\underset{\_}{x}}_{k}^{T}W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {{\underset{\_}{s}}_{0\; k} + {\underset{\_}{s}}_{1\; k}} \right)}} - {2{g_{c}\left( {{\underset{\_}{s}}_{0k}^{T} + {\underset{\_}{s}}_{1k}^{T}} \right)}W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {{\underset{\_}{s}}_{0k} + {\underset{\_}{s}}_{1k}} \right)}}} \right\}}} = 0}$we obtain

${\sum\limits_{k = 1}^{M}{{\underset{\_}{x}}_{k}^{T}W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {{\underset{\_}{s}}_{0\; k} + {\underset{\_}{s}}_{1\; k}} \right)}}} = {\sum\limits_{k = 1}^{M}{{g_{c}\left( {{\underset{\_}{s}}_{0k}^{T} + {\underset{\_}{s}}_{1k}^{T}} \right)}W_{k}^{\prime\; T}{W^{\prime}\left( {{\underset{\_}{s}}_{0\; k} + {\underset{\_}{s}}_{1\; k}} \right)}}}$and

$\begin{matrix}{g_{c} = \frac{\sum\limits_{k = 1}^{M}{{\underset{\_}{x}}_{k}^{T}W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {{\underset{\_}{s}}_{0\; k} + {\underset{\_}{s}}_{1\; k}} \right)}}}{\sum\limits_{k = 1}^{M}{\left( {{\underset{\_}{s}}_{0k}^{T} + {\underset{\_}{s}}_{1\; k}^{T}} \right)W_{k}^{\prime\; T}{W^{\prime}\left( {{\underset{\_}{s}}_{0\; k} + {\underset{\_}{s}}_{1\; k}} \right)}}}} & (32)\end{matrix}$

The above equations (31) and (32) give optimum centroid conditions forthe shape s_(0i), s_(1i), and the gain g_(l) for 0≦i≦31, 0≦j≦31 and0≦l≦31, that is an optimum decoder output. Meanwhile, s_(1i) may befound in the same way as for s_(0i).

The optimum encoding condition, that is the nearest neighbor condition,is considered.

The above equation (27) for finding the distortion measure, that iss_(0i) and s_(1i) minimizing the equation E=∥W′(X−g1(s_(1i)+s_(1j)))∥²,are found each time the input x and the weight matrix W′ are given, thatis, on the frame-by-frame basis.

Intrinsically, E is found on the round robin fashion for allcombinations of gl (0≦l≦31), s_(0i) (0≦i≦31) and s_(0j) (0≦j≦31), thatis 32×32×32=32768, in order to find the set of s_(0i), s_(1i) which willgive the minimum value of E. Since this requires extensive calculations,however, the shape and the gain are sequentially searched in the presentembodiment. Meanwhile, round robin search is used for the combination ofs_(0i) and s_(1i). There are 32×32=1024 combinations for s_(0i) ands_(1i). In the following description, s_(1i)+s_(1j) are indicated ass_(m) for simplicity.

The above equation (27) becomes E=∥W′(x−glsm)∥². If, for furthersimplicity, x _(w)=W′x and s_(w)=W′s_(m)′, we obtainE=∥x _(w) −g _(l) s _(w)∥²  (33)

$\begin{matrix}{E = {{{\underset{\_}{x}}_{w}}^{2} + {{{\underset{\_}{s}}_{w}}^{2}\left( {g_{l} - \frac{{\underset{\_}{x}}_{w}^{T} \cdot {\underset{\_}{s}}_{w}}{{{\underset{\_}{s}}_{w}}^{2}}} \right)^{2}} - \frac{\left\langle {{\underset{\_}{x}}_{W}^{T} \cdot {\underset{\_}{s}}_{x}} \right\rangle^{2}}{{{\underset{\_}{s}}_{w}}^{2}}}} & (34)\end{matrix}$

Therefore, if gl can be made sufficiently accurate, a search can beperformed in two steps of

(1) searching for SW which will maximize

$\frac{\left( {{\underset{\_}{x}}_{w}^{T} \cdot {\underset{\_}{s}}_{w}} \right)^{2}}{{{\underset{\_}{s}}_{w}}^{2}}$and(2) searching for g_(l) which is closest to

$\frac{{\underset{\_}{x}}_{w}^{T} \cdot {\underset{\_}{s}}_{w}}{{s_{w}}^{2}}$If the above is rewritten using the original notation,(1)′ searching is made for a set of s_(0i) and s_(1i) which willmaximize

$\frac{\left\langle {{\underset{\_}{x}}^{T}W^{\prime\; T}{W^{\prime}\left( {{\underset{\_}{s}}_{0\; i} + {\underset{\_}{s}}_{1\; j}} \right)}} \right\rangle^{2}}{{{W^{\prime}\left( {{\underset{\_}{s}}_{0\; i} + {\underset{\_}{s}}_{1\; j}} \right)}}^{2}}$and(2)′ searching is made for g_(l) which is closest to

$\begin{matrix}\frac{{\underset{\_}{x}}^{T}W^{\prime\; T}{W^{\prime}\left( {{\underset{\_}{s}}_{0\; i} + {\underset{\_}{s}}_{1\; j}} \right)}}{{{W^{\prime}\left( {{\underset{\_}{s}}_{0\; i} + {\underset{\_}{s}}_{1\; j}} \right)}}^{2}} & (35)\end{matrix}$

The above equation (35) represents an optimum encoding condition(nearest neighbor condition).

Using the conditions (centroid conditions) of the equations (31) and(32) and the condition of the equation (35), codebooks (CB0, CB1 andCBg) can be trained simultaneously with the use of the so-calledgeneralized Lloyd algorithm (GLA).

In the present embodiment, W′ divided by a norm of an input x is used asW′. That is, W′/∥x∥ is substituted for W′ in the equations (31), (32)and (35).

Alternatively, the weighting W′, used for perceptual weighting at thetime of vector quantization by the vector quantizer 116, is defined bythe above equation (26). However, the weighting W′ taking into accountthe temporal masking can also be found by finding the current weightingW′ in which past W′ has been taken into account.

The values of wh(1), wh(2), . . . , wh(L) in the above equation (26), asfound at the time n, that is, at the n'th frame, are indicated aswhn(1), whn(2), . . . , whn(L), respectively.

If the weights at time n, taking past values into account, are definedas An(i), where 1≦i≦L,

$\begin{matrix}{{{{An}(i)} = {{\lambda\;{A_{n - 1}(i)}} + {\left( {1 - \lambda} \right){{whn}(i)}}}},\left( {{{whn}(i)} \leq {A_{n - 1}(i)}} \right)} \\{{= {{whn}(i)}},\left( {{{whn}(i)} > {A_{n - 1}(i)}} \right)}\end{matrix}$where λ may be set to, for example, λ=0.2. In An(i), with 1≦i≦L, thusfound, a matrix having such An(i) as diagonal elements may be used asthe above weighting.

The shape index values s_(0i), s_(1j), obtained by the weighted vectorquantization in this manner, are output at output terminals 520, 522,respectively, of FIG. 8, while the gain index gl is output at an outputterminal 521. Also, the quantized value x₀′ is output at the outputterminal 504, while being sent to the adder 505.

The adder 505 subtracts the quantized value from the spectral envelopevector x to generate a quantization error vector y. Specifically, thisquantization error vector y is sent to the vector quantization unit 511so as to be dimensionally split and quantized by vector quantizers 511 ₁to 511 ₈ with weighted vector quantization. The second vectorquantization unit 510 uses a larger number of bits than the first vectorquantization unit 500. Consequently, the memory capacity of the codebookand the processing volume (complexity) for codebook searching areincreased significantly. Thus, it becomes nearly impossible to carry outvector quantization with the 44-dimension which is the same as that ofthe first vector quantization unit 500. Therefore, the vectorquantization unit 511 in the second vector quantization unit 510 is madeup of plural vector quantizers and the input quantized values aredimensionally split into plural low-dimensional vectors for performingweighted vector quantization.

The relation between the quantized values y₀ to y₇, used in the vectorquantizers 511 ₁ to 511 ₈, the number of dimensions, and the number ofbits are shown in the following Table 2.

TABLE 2 quantized value dimension number of bits y₀ 4 10 y₁ 4 10 y₂ 4 10y₃ 4 10 y₄ 4 9 y₅ 8 8 y₆ 8 8 y₇ 8 7

The index values Id_(vq0) to Id_(vq7) output from the vector quantizers511 ₁ to 511 ₈ are output at output terminals 523 ₁ to 523 ₈. The sum ofbits of these index data is 72.

If a value obtained by connecting the output quantized values y₀′ to y₇′of the vector quantizers 511 ₁ to 511 ₈ in the dimensional direction isy′, the quantized values y′ and x₀′ are summed by the adder 513 to givea quantized value x₁′. Therefore, the quantized value x₁′ is representedby

$\begin{matrix}{{\underset{\_}{x}}_{1}^{\prime} = {{\underset{\_}{x}}_{0}^{\prime} + {\underset{\_}{y}}^{\prime}}} \\{= {\underset{\_}{x} - \underset{\_}{y} + {\underset{\_}{y}}^{\prime}}}\end{matrix}$That is, the ultimate quantization error vector is y′-y.

If the quantized value x₁′ from the second vector quantizer 510 is to bedecoded, the speech signal decoding apparatus is not in need of thequantized value x₁′ from the first quantization unit 500. It is,however, in need of index data from the first quantization unit 500 andthe second quantization unit 510.

The learning method and code book search in the vector quantizationsection 511 will now be further explained.

As for the learning method, the quantization error vector y is dividedinto eight low-dimension vectors y₀ to y₇, using the weight W′, as shownin Table 2. If the weight W′ is a matrix having 44-point sub-sampledvalues as diagonal elements:

$\begin{matrix}{W^{\prime} = \begin{bmatrix}{{wh}(1)} & \; & \; & 0 \\\; & {{wh}(2)} & \; & \; \\\; & \; & ⋰ & \; \\0 & \; & \; & {{wh}(44)}\end{bmatrix}} & (36)\end{matrix}$the weight W′ is split into the following eight matrices:

$\begin{matrix}{W_{1}^{\prime} = \begin{bmatrix}{{wh}(1)} & \; & 0 \\\; & ⋰ & \; \\0 & \; & {{wh}(4)}\end{bmatrix}} \\{W_{2}^{\prime} = \begin{bmatrix}{{wh}(5)} & \; & 0 \\\; & ⋰ & \; \\0 & \; & {{wh}(8)}\end{bmatrix}} \\{W_{3}^{\prime} = \begin{bmatrix}{{wh}(9)} & \; & 0 \\\; & ⋰ & \; \\0 & \; & {{wh}(12)}\end{bmatrix}} \\{W_{4}^{\prime} = \begin{bmatrix}{{wh}(13)} & \; & 0 \\\; & ⋰ & \; \\0 & \; & {{wh}(16)}\end{bmatrix}} \\{W_{5}^{\prime} = \begin{bmatrix}{{wh}(17)} & \; & 0 \\\; & ⋰ & \; \\0 & \; & {{wh}(20)}\end{bmatrix}} \\{W_{6}^{\prime} = \begin{bmatrix}{{wh}(21)} & \; & 0 \\\; & ⋰ & \; \\0 & \; & {{wh}(28)}\end{bmatrix}} \\{W_{7}^{\prime} = \begin{bmatrix}{{wh}(29)} & \; & 0 \\\; & ⋰ & \; \\0 & \; & {{wh}(36)}\end{bmatrix}} \\{W_{8}^{\prime} = \begin{bmatrix}{{wh}(37)} & \; & 0 \\\; & ⋰ & \; \\0 & \; & {{wh}(44)}\end{bmatrix}}\end{matrix}$

y and W′, thus split in low dimensions, are termed Y_(i) and

W_(i)′, where 1≦i≦8, respectively.

The distortion measure E is defined asE=∥W _(i)′(y _(i) −s)∥²  (37)

The codebook vector s is the result of quantization of y_(i). Such codevector of the codebook minimizing the distortion measure E is searched.

In the codebook learning, further weighting is performed using thegeneral Lloyd algorithm (GLA). The optimum centroid condition forlearning is first explained. If there are M input vectors y which haveselected the code vector s as optimum quantization results, and thetraining data is y_(k), the expected value of distortion J is given bythe equation (38) minimizing the center of distortion on weighting withrespect to all frames k:

$\begin{matrix}{J = {\frac{1}{M}{\sum\limits_{k - 1}^{M}\;{{{W_{k}^{\prime}\left( {{\underset{\_}{y}}_{k} - \underset{\_}{s}} \right)}}}^{2}}}} \\{= {\frac{1}{M}{\sum\limits_{k - 1}^{M}{\left( {{\underset{\_}{y}}_{k} - \underset{\_}{s}} \right)^{T}W_{k}^{\prime\; T}{W_{k}^{\prime}\left( {{\underset{\_}{y}}_{k} - \underset{\_}{s}} \right)}}}}} \\{= {{\frac{1}{M}{\sum\limits_{k - 1}^{M}{{\underset{\_}{y}}_{k}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{y}}_{k}}}} - {2{\underset{\_}{y}}_{k}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}\underset{\_}{s}} + {{\underset{\_}{s}}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}\underset{\_}{s}}}}\end{matrix}$Solving

$\frac{\partial J}{\partial\underset{\_}{s}} = {{\frac{1}{M}{\sum\limits_{k - 1}^{M}\;\left( {{{- 2}{\underset{\_}{y}}_{k}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}} + {2{\underset{\_}{s}}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}}} \right)}} = 0}$we obtain

${\sum\limits_{k = 1}^{M}\;{{\underset{\_}{y}}_{k}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}}} = {\sum\limits_{k = 1}^{M}\;{{\underset{\_}{s}}^{T}W_{k}^{\prime\; T}W_{k}^{\prime}}}$Taking transposed values of both sides, we obtain

${\sum\limits_{k = 1}^{M}\;{W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{y}}_{k}}} = {\sum\limits_{k = 1}^{M}\;{W_{k}^{\prime\; T}W_{k}^{\prime}\underset{\_}{s}}}$Therefore,

$\begin{matrix}{\underset{\_}{s} = {\left( {\sum\limits_{k = 1}^{M}\;{W_{k}^{\prime\; T}W_{k}^{\prime}}} \right)^{- 1}{\sum\limits_{k = 1}^{M}\;{W_{k}^{\prime\; T}W_{k}^{\prime}{\underset{\_}{y}}_{k}}}}} & (39)\end{matrix}$

In the above equation (39), s is an optimum representative vector andrepresents an optimum centroid condition.

As for the optimum encoding condition, it suffices to search for sminimizing the value of ∥W_(i)′(y_(i)−s)∥²·W_(i)′ during searching neednot be the same as W_(i)′ during learning and may be non-weightedmatrix:

$\begin{bmatrix}1 & \; & \; & 0 \\\; & 1 & \; & \; \\\; & \; & ⋰ & \; \\0 & \; & \; & 1\end{bmatrix}$

By constructing the vector quantization unit 116 in the speech signalencoder using two-stage vector quantization units, it becomes possibleto render the number of output index bits variable.

The second encoding unit 120 employing the above-mentioned CELP encoderis comprised of multi-stage vector quantization processors as shown inFIG. 10. These multi-stage vector quantization processors are formed astwo-stage encoding units 120 ₁, 120 ₂ in the embodiment of FIG. 10, inwhich an arrangement for coping with the transmission bit rate of 6 kbpsand a transmission bit rate of 2 kbps is shown. In addition, the shapeand gain index output can be switched between 23 bits/5 msec and 15bits/5 msec. The processing flow in the arrangement of FIG. 10 is shownin FIG. 11.

Referring to FIG. 10, an LPC analysis circuit 302 corresponds to the LPCanalysis circuit 132 shown in FIG. 3, an LSP parameter quantizationcircuit 303 corresponds to the α to LSP conversion circuit 133 and theLSP to α conversion circuit 137 of FIG. 3, and a perceptually weightedfilter 304 of FIG. 10 corresponds to the perceptual weighting filtercalculation circuit 139 and the perceptually weighted filter 125 of FIG.3. Therefore, in FIG. 10, an output which is the same as that of the LSPto α conversion circuit 137 of the first encoding unit 113 of FIG. 3 issupplied to a terminal 305, while an output which is the same as theoutput of the perceptually weighted filter calculation circuit 139 ofFIG. 3 is supplied to a terminal 307 and an output which is the same asthe output of the perceptually weighted filter 125 of FIG. 3 is suppliedto a terminal 306. However, in distinction from the perceptuallyweighted filter 125, the perceptually weighted filter 304 of FIG. 10generates the perceptually weighed signal, that is, the same signal asthe output of the perceptually weighted filter 125 of FIG. 3, using theinput speech data and pre-quantization α-parameter, instead of using anoutput of the LSP-α conversion circuit 137.

In the two-stage second encoding units 120 ₁ and 120 ₂ shown in FIG. 10,subtractors 313 and 323 correspond to the subtractor 123 of FIG. 3,while the distance calculation circuits 314, 324 correspond to thedistance calculation circuit 124 of FIG. 3. In addition, the gaincircuits 311, 321 correspond to the gain circuit 126 of FIG. 3, whilestochastic codebooks 310, 320 and gain codebooks 315, 325 correspond tothe noise codebook 121 of FIG. 3.

In the arrangement of FIG. 10, the LPC analysis circuit 302 at step S1of FIG. 11 splits input speech data x supplied from a terminal 301 intoframes as described above to perform LPC analyses in order to find anα-parameter. The LSP parameter quantization circuit 303 converts theα-parameter from the LPC analysis circuit 302 into LSP parameters toquantize the LSP parameters. The quantized LSP parameters areinterpolated and converted into α-parameters. The LSP parameterquantization circuit 303 generates an LPC synthesis filter function 1/H(z) from the α-parameters converted from the quantized LSP parameters,that is, the quantized LSP parameters, and sends the generated LPCsynthesis filter function 1/H (z) to a perceptually weighted synthesisfilter 312 of the first-stage second encoding unit 120 ₁ via terminal305.

The perceptual weighting filter 304 finds data for perceptual weighting,which is the same as that produced by the perceptually weighting filtercalculation circuit 139 of FIG. 3, from the α-parameter from the LPCanalysis circuit 302, that is, pre-quantization α-parameter. Theseweighting data are supplied via terminal 307 to the perceptuallyweighting synthesis filter 312 of the first-stage second encoding unit120 ₁. The perceptual weighting filter 304 generates the perceptuallyweighted signal, which is the same signal as that output by theperceptually weighted filter 125 of FIG. 3, from the input speech dataand the pre-quantization α-parameter, as shown at step S2 in FIG. 11.That is, the LPC synthesis filter function W (z) is first generated fromthe pre-quantization α-parameter. The filter function W(z) thusgenerated is applied to the input speech data x to generate xw which issupplied as the perceptually weighted signal via terminal 306 to thesubtractor 313 of the first-stage second encoding unit 120 ₁. In thefirst-stage second encoding unit 120 ₁, a representative value output ofthe stochastic codebook 310 of the 9-bit shape index output is sent tothe gain circuit 311 which then multiplies the representative outputfrom the stochastic codebook 310 with the gain (scalar) from the gaincodebook 315 of the 6-bit gain index output. The representative valueoutput, multiplied with the gain by the gain circuit 311, is sent to theperceptually weighted synthesis filter 312 with 1/A(z)=(1/H(z))*W(z).The weighting synthesis filter 312 sends the 1/A(z) zero-input responseoutput to the subtractor 313, as indicated at step S3 of FIG. 11. Thesubtractor 313 performs subtraction on the zero-input response output ofthe perceptually weighting synthesis filter 312 and the perceptuallyweighted signal xw from the perceptual weighting filter 304 and theresulting difference or error is taken out as a reference vector r.During searching at the first-stage second encoding unit 120 ₁, thisreference vector r is sent to the distance calculating circuit 314 wherethe distance is calculated and the shape vector s and the gain gminimizing the quantization error energy E are searched, as shown atstep S4 in FIG. 11. Here, 1/A(z) is in the zero state. That is, if theshape vector s in the codebook synthesized with 1/A(z) in the zero stateis s_(syn), the shape vector s and the gain g minimizing the equation(40):

$\begin{matrix}{E = {\sum\limits_{n = 0}^{N - 1}\;\left( {{r(n)} - {{gs}_{syn}(n)}} \right)^{2}}} & (40)\end{matrix}$are searched.

Although s and g minimizing the quantization error energy E may befull-searched, the following method may be used for reducing the amountof calculations.

The first method is to search the shape vector s minimizing E_(s)defined by the following equation (41):

$\begin{matrix}{E_{s} = \frac{\sum\limits_{n = 0}^{N - 1}\;{{r(n)}{s_{syn}(n)}}}{\sqrt{\sum\limits_{n = 0}^{N - 1}\;{s_{syn}(n)}^{2}}}} & (41)\end{matrix}$From s obtained by the first method, the ideal gain is as shown by theequation (42):

$\begin{matrix}{g_{ref} = {\frac{\sum\limits_{n = 0}^{N - 1}\;{{r(n)}{s_{syn}(n)}}}{\sum\limits_{n = 0}^{N - 1}\;{s_{syn}(n)}^{2}}.}} & (42)\end{matrix}$Therefore, as the second method, such g minimizing the equation (43):Eg=(g _(ref) −g)²  (43)is searched.

Since E is a quadratic function of g, such g minimizing Eg minimizes E.

From s and g obtained by the first and second methods, the quantizationerror vector e can be calculated by the following equation (44):e=r−gs _(syn)  (44)

This is quantized as a reference of the second-stage second encodingunit 120 ₂ as in the first stage.

That is, the signal supplied to the terminals 305 and 307 are directlysupplied from the perceptually weighted synthesis filter 312 of thefirst-stage second encoding unit 120 ₁ to a perceptually weightedsynthesis filter 322 of the second stage second encoding unit 120 ₂. Thequantization error vector e found by the first-stage second encodingunit 120 ₁ is supplied to a subtractor 323 of the second-stage secondencoding unit 120 ₂.

At step S5 of FIG. 11, processing similar to that performed in the firststage occurs in the second-stage second encoding unit 120 ₂. That is, arepresentative value output from the stochastic codebook 320 of the5-bit shape index output is sent to the gain circuit 321 where therepresentative value output of the codebook 320 is multiplied with thegain from the gain codebook 325 of the 3-bit gain index output. Anoutput of the weighted synthesis filter 322 is sent to the subtractor323 where a difference between the output of the perceptually weightedsynthesis filter 322 and the first-stage quantization error vector e isfound. This difference is sent to a distance calculation circuit 324 fordistance calculation in order to search the shape vector s and the gaing minimizing the quantization error energy E.

The shape index output of the stochastic codebook 310 and the gain indexoutput of the gain codebook 315 of the first-stage second encoding unit120 ₁ and the index output of the stochastic codebook 320 and the indexoutput of the gain codebook 325 of the second-stage second encoding unit120 ₂ are sent to an index output switching circuit 330. If 23 bits areoutputted from the second encoding unit 120, the index data of thestochastic codebooks 310, 320 and the gain codebooks 315, 325 of thefirst-stage and second-stage second encoding units 120 ₁, 120 ₂ aresummed and outputted. If 15 bits are outputted, the index data of thestochastic codebook 310 and the gain codebook 315 of the first-stagesecond encoding unit 120 ₁ are outputted.

The filter state is then updated for calculating zero input responseoutput as shown at step S6.

In the present embodiment, the number of index bits of the second-stagesecond encoding unit 120 ₂ is as small as 5 for the shape vector, whilethat for the gain is as small as 3. If suitable shape and gain are notpresent in this case in the codebook, the quantization error is likelyto be increased, instead of being decreased.

Although 0 may be provided in the gain for preventing this problem fromoccurring, there are only three bits for the gain. If one of these isset to 0, the quantizer performance is significantly deteriorated. Inthis consideration, an all-0 vector is provided for the shape vector towhich a larger number of bits have been allocated. The above-mentionedsearch is performed, with the exclusion of the all-zero vector, and theall-zero vector is selected if the quantization error has ultimatelybeen increased. The gain is arbitrary. This makes it possible to preventthe quantization error from being increased in the second-stage secondencoding unit 120 ₂.

Although the two-stage arrangement has been described above, the numberof stages may be larger than 2. In such case, if the vector quantizationby the first-stage closed-loop search has come to a close, quantizationof the N′th stage, where 2≦N, is carried out with the quantization errorof the (N−1)st stage as a reference input, and the quantization error ofthe of the N′th stage is used as a reference input to the (N+1)st stage.

It is seen from FIGS. 10 and 11 that, by employing multi-stage vectorquantizers for the second encoding unit, the amount of calculations isdecreased as compared to that with the use of straight vectorquantization with the same number of bits or with the use of a conjugatecodebook. In particular, in CELP encoding in which vector quantizationof the time-axis waveform employing the closed-loop search by theanalysis by synthesis method is performed, a smaller number of times ofsearch operations is crucial. In addition, the number of bits can beeasily switched by switching between employing both index outputs of thetwo-stage second encoding units 120 ₁, 120 ₂ and employing only theoutput of the first-stage second encoding unit 120 ₁ without employingthe output of the second-stage second encoding unit 120 ₁. If the indexoutputs of the first-stage and second-stage second encoding units 120 ₁,120 ₂ are combined and output, the decoder can easily cope with theconfiguration by selecting one of the index outputs. That is, thedecoder can easily cope with the configuration by decoding the parameterencoded with e.g., 6 kbps using a decoder operating at 2 kbps. Inaddition, if a zero-vector is contained in the shape codebook of thesecond-stage second encoding unit 120 ₂, it becomes possible to preventthe quantization error from being increased with lesser deterioration inperformance than if 0 is added to the gain.

The code vector of the stochastic codebook (shape vector) can begenerated by, for example, the following method.

The code vector of the stochastic codebook, for example, can begenerated by clipping the so-called Gaussian noise. Specifically, thecodebook may be generated by generating the Gaussian noise, clipping theGaussian noise with a suitable threshold value and normalizing theclipped Gaussian noise.

However, there are a variety of types of speech. For example, theGaussian noise can cope with speech of consonant sounds close to noise,such as “sa, shi, su, se and so”, while the Gaussian noise cannot copewith the speech of acutely rising consonants, such as “pa, pi, pu, peand po”.

According to the present invention the Gaussian noise is applied to someof the code vectors, while the remaining portion of the code vectors aredealt with by learning, so that both the consonants having sharplyrising consonant sounds and the consonant sounds close to the noise canbe coped with. If, for example, the threshold value is increased, avector is obtained which has several larger peaks, whereas, if thethreshold value is decreased, the code vector is approximate to theGaussian noise. Thus, by increasing the variation in the clippingthreshold value, it becomes possible to cope with consonants havingsharp rising portions, such as “pa, pi, pu, pe and po” or consonantsclose to noise, such as “sa, shi, su, se and so”, thereby increasingclarity. FIG. 12 shows the appearance of the Gaussian noise and theclipped noise by a solid line and by a broken line, respectively. FIGS.12A and 12B respectively show the noise with the clipping thresholdvalue equal to 1.0, that is with a larger threshold value, and the noisewith the clipping threshold value equal to 0.4, that is with a smallerthreshold value. It is seen from FIGS. 12A and 12B that, if thethreshold value is selected to be larger, there is obtained a vectorhaving several larger peaks, whereas, if the threshold value is selectedto a smaller value, the noise approaches to the Gaussian noise itself.

Thus, an initial codebook is prepared by clipping the Gaussian noise anda suitable number of non-learning code vectors are set. The non-learningcode vectors are selected in the order of the increasing variance valuefor coping with consonants close to the noise, such as “sa, shi, su, seand so”. The vectors found by learning use the LBG algorithm forlearning. The encoding under the nearest neighbor condition uses boththe fixed code vector and the code vector obtained on learning. In thecentroid condition, only the code vector to be learned is updated. Thusthe code vector to be learned can cope with sharply rising consonants,such as “pa, pi, pu, pe and po”.

An optimum gain may be learned for these code vectors by a conventionallearning process.

FIG. 13 shows the processing flow for the codebook learning processemploying clipping the Gaussian noise.

In FIG. 13 the number of times of learning n is set to n=0 at step S10for initialization. With an error D₀=∞, the maximum number of times oflearning n_(max) is set and a threshold value ε setting the learning endcondition is set.

At the next step S11, the initial codebook by clipping the Gaussiannoise is generated. At step S12, part of the code vectors are fixed asnon-learning code vectors.

At the next step S13, encoding is done using the above codebook. At stepS14, the error is calculated. At step S15, it is judged if(D_(n−1)−D_(n)/D_(n)<ε, or n=n_(max)). If the result is YES, processingis terminated. If the result is NO, processing transfers to step S16.

At step S16, the code vectors not used for encoding are processed. Atthe next step S17, the code books are updated. At step S18, the numberof times of learning n is incremented before returning to step S13.

In the speech encoder of FIG. 3, a specified example of avoiced/unvoiced (V/UV) discrimination unit 115 is now further explained.

The V/UV discrimination unit 115 performs V/UV discrimination of a frameunder consideration based on an output of the orthogonal transformcircuit 145, an optimum pitch from the high precision pitch search unit146, spectral amplitude data from the spectral evaluation unit 148, amaximum normalized autocorrelation value r(p) from the open-loop pitchsearch unit 141, and a zero-crossing count value from the zero-crossingcounter 142. The boundary position of the band-based results of V/UVdecision, similar to that used for MBE, is also used as one of theconditions for the frame under consideration.

The condition for V/UV discrimination for the MBE, employing the resultsof band-based V/UV discrimination, is now further explained.

The parameter or amplitude |A_(m)| representing the magnitude of them′th harmonics in the case of MBE may be represented by

${\therefore{A_{m}}} = {\sum\limits_{j = a_{m}}^{b_{m}}\;{{{S(j)}}{{{E(j)}}/{\sum\limits_{j = a_{m}}^{b_{m}}\;{{E(j)}}^{2}}}}}$In this equation, |S(j)| is a spectrum obtained on DFTing LPC residuals,and |E(j)| is the spectrum of the basic signal, specifically, a256-point Hamming window, while a_(m), b_(m) are lower and upper limitvalues, represented by an index j, of the frequency corresponding to them′th band corresponding in turn to the m′th harmonics. For band-basedV/UV discrimination, a noise to signal ratio (NSR) is used. The NSR ofthe m′th band is represented by

${NSR} = \frac{\sum\limits_{j = a_{m}}^{b_{m}}\;\left( {{{{{S(j)} -}}A_{m}}❘{{E(j)}}} \right)^{2}}{\sum\limits_{j = a_{m}}^{b_{m}}\;{{S(j)}}^{2}}$If the NSR value is larger than a pre-set threshold, such as 0.3, thatis, if an error is larger, it may be judged that approximation of |S(j)|by |A_(m)| |E(j)| in the band under consideration is not good, that is,that the excitation signal |E(j)| is not appropriate as the base. Thusthe band under consideration is determined to be unvoiced (UV). Ifotherwise, it may be judged that approximation has been done fairly welland hence is determined to be voiced (V).

It is noted that the NSR of the respective bands (harmonics) representsimilarity of the harmonics from one harmonics to another. The sum ofgain-weighted harmonics of the NSR is defined as NSR_(all) by:NSR_(all)=(Σ_(m) |A _(m)|NSR_(m))/(Σ_(m) |A _(m)|)

The rule base used for V/UV discrimination is determined depending onwhether this spectral similarity NSR_(all) is larger or smaller than acertain threshold value. This threshold may be set to Th_(NSR)=0.3. Thisrule base is concerned with the maximum value of the autocorrelation ofthe LPC residuals, frame power, and the zero-crossing. In the case ofthe rule base used for NSR_(all)<Th_(NSR), the frame under considerationbecomes V and UV if the rule is applied and if there is no applicablerule, respectively.

A specified rule is as follows:

For NSR_(all)<TH_(NSR),

if numZero XP<24, formPow>340 and r0>0.32, then the frame underconsideration is V;

For NSR_(all)≧TH_(NSR),

If numZero XP>30, frmPow<900 and r0>0.23, then the frame underconsideration is UV;

wherein respective variables are defined as follows:

numZeroXP: number of zero-crossings per frame

formPow: frame power

r0: maximum value of auto-correlation

The rule representing a set of specified rules such as those given aboveare consulted for doing V/UV discrimination.

The arrangement of essential portions and the operation of the speechsignal decoder of FIG. 4 will now be explained in more detail.

The LPC synthesis filter 214 is separated into the synthesis filter 236for the voiced speech (V) and into the synthesis filter 237 for theunvoiced speech (UV), as previously explained. If LSPs are continuouslyinterpolated every 20 samples, that is, every 2.5 msec, withoutseparating the synthesis filter and without making V/UV distinction,LSPs of totally different properties are interpolated at V to UV or UVto V transient portions. The result is that LPC of UV and V are used asresiduals of V and UV, respectively, such that strange sound tends to beproduced. For preventing such ill effects from occurring, the LPCsynthesis filter is separated into V and UV and LPC coefficientinterpolation is independently performed for V and UV.

The method for coefficient interpolation of the LPC filters 236, 237 inthis case is now further explained. Specifically, LSP interpolation isswitched depending on the V/UV state, as shown in Table 3.

TABLE 3 H(v)z Huv(z) previous current previous current frame frame frameframe v → v transmit- transmit- equal equal ted LSP ted LSP intervalinterval LSP LSP v → uv transmit- equal equal transmit- ted LSP intervalinterval ted LSP LSP LSP uv → v equal transmit- transmit- equal intervalted LSP ted LSP interval LSP LSP uv → uv equal equal transmit- transmit-interval interval ted LSP ted LSP LSP LSP

Taking an example of the 10-order LPC analysis, the equal interval LSPis such LSP corresponding to α-parameters for flat filtercharacteristics and the gain equal to unity, that is, α₀=1, α₁=α₂= . . .=α₁₀=0, with 0≦α≦10.

Such 10-order LPC analysis, that is, 10-order LSP, is the LSPcorresponding to a completely flat spectrum, with LSPs being arrayed atequal intervals at 11 equally spaced apart positions between 0 and π. Insuch case, the entire band gain of the synthesis filter has minimumthrough-characteristics.

FIG. 15 schematically shows the manner of gain change. Specifically,FIG. 15 shows how the gain of 1/H_(uv(z)) and the gain of 1/H_(v(z)) arechanged during transition from the unvoiced (UV) portion to the voiced(V) portion.

As for the unit of interpolation, it is 2.5 msec (20 samples) for thecoefficient of 1/H_(v(z)), while it is 10 msec (80 samples) for the bitrate of 2 kbps and 5 msec (40 samples) for the bit rate of 6 kbps,respectively, for the coefficient of 1/H_(uv(z)). For UV, since thesecond encoding unit 120 performs waveform matching employing ananalysis by synthesis method, interpolation with the LSPs of theneighboring V portions may be performed without performing interpolationwith the equal interval LSPs. It is noted that, in the encoding of theUV portion in the second encoding portion 120 of FIG. 1, the zero-inputresponse is set to zero by clearing the inner state of the 1/A(z)weighted synthesis filter 122 at the transient portion from V to UV.

Outputs of these LPC synthesis filters 236, 237 are sent to therespective independently provided post-filters 238 v, 238 u. Theintensity and the frequency response of the post-filters are set tovalues that are independent and may be different for V and UV forsetting the intensity and the frequency response of the post-filters todifferent values for V and UV.

The windowing of junction portions between the V and the UV portions ofthe LPC residual signals, that is, the excitation as an LPC synthesisfilter input, is now further explained. This windowing is carried out bythe sinusoidal synthesis circuit 215 of the voiced speech synthesis unit211 and by the windowing circuit 223 of the unvoiced speech synthesisunit 220. The method for synthesis of the V-portion of the excitation isexplained in detail in JP Patent Application No. 4-91422, assigned tothe present Assignee, while the method for fast synthesis of theV-portion of the excitation is explained in detail in JP PatentApplication No. 6-198451, similarly assigned to the present Assignee. Inthe present illustrative embodiment, this method of fast synthesis isused for generating the excitation of the V-portion using this fastsynthesis method.

In the voiced (V) portion, in which sinusoidal synthesis is performed byinterpolation using the spectrum of the neighboring frames, allwaveforms between the n′th and (n+1)st frames can be produced.Nevertheless, for the signal portion astride the V and UV portions, suchas the (n+1)st frame and the (n+2)nd frame in FIG. 16, or for theportion astride the UV portion and the V portion, the UV portion encodesand decodes only data of ±80 samples (a sum total of 160 samples isequal to one frame interval). The result is that windowing is carriedout beyond a center point CN between neighboring frames on the V-side,while it is carried out as far as the center point CN on the UV side,for overlapping the junction portions, as shown in FIG. 17. The reverseprocedure is used for the UV to V transient portion. The windowing onthe V-side may also be as shown by a broken line in FIG. 17.

The noise synthesis and the noise addition at the voiced (V) portion isnow further explained. These operations are performed by the noisesynthesis circuit 216, weighted overlap-and-add circuit 217 and by theadder 218 of FIG. 4 by adding to the voiced portion of the LPC residualsignal the noise which takes into account the following parameters inconnection with the excitation of the voiced portion as the LPCsynthesis filter input. That is, the above parameters may be enumeratedby the pitch lag Pch, spectral amplitude Am[i] of the voiced sound,maximum spectral amplitude in a frame Amax and the residual signal levelLev. The pitch lag Pch is the number of samples in a pitch period for apre-set sampling frequency fs, such as fs=8 kHz, while i in the spectralamplitude Am[i] is an integer such that 0≦i≦I for the number ofharmonics in the band of fs/2 equal to I=Pch/2.

The processing by this noise synthesis circuit 216 is carried out inmuch the same way as in synthesis of the unvoiced sound by, for example,multi-band encoding (MBE). FIG. 18 illustrates a specified embodiment ofthe noise synthesis circuit 216.

That is, referring to FIG. 18, a white noise generator 401 outputs theGaussian noise which is then processed with the short-term Fouriertransform (STFT) by an STFT processor 402 to produce a power spectrum ofthe noise on the frequency axis. The Gaussian noise is the time-domainwhite noise signal waveform windowed by an appropriate windowingfunction, such as a Hamming window, having a pre-set length, such as 256samples. The power spectrum from the STFT processor 402 is sent foramplitude processing to a multiplier 403 so as to be multiplied with anoutput of the noise amplitude control circuit 410. An output of theamplifier 403 is sent to an inverse STFT (ISTFT) processor 404 where itis ISTFTed using the phase of the original white noise as the phase forconversion into a time-domain signal. An output of the ISTFT processor404 is sent to a weighted overlap-add circuit 217.

In the embodiment of FIG. 18, the time-domain noise is generated fromthe white noise generator 401 and processed with orthogonal transform,such as STFT, for producing the frequency-domain noise. Alternatively,the frequency-domain noise may also be generated directly by the noisegenerator. By directly generating the frequency-domain noise, orthogonaltransform processing operations such as for STFT or ISTFT, may beeliminated.

Specifically, a method of generating random numbers in a range of ±x andhandling the generated random numbers as real and imaginary parts of theFFT spectrum, or a method of generating positive random numbers rangingfrom 0 to a maximum number (max) for handling them as the amplitude ofthe FFT spectrum and generating random numbers ranging from −π to +π andhandling these random numbers as the phase of the FFT spectrum, may beemployed.

This renders it possible to eliminate the STFT processor 402 of FIG. 18to simplify the structure or to reduce the processing volume.

The noise amplitude control circuit 410 has a basic structure shown forexample in FIG. 19 and finds the synthesized noise amplitude Am-noise[i]by controlling the multiplication coefficient at the multiplier 403based on the spectral amplitude Am[i] of the voiced (V) sound suppliedvia a terminal 411 from the quantizer 212 of the spectral envelope ofFIG. 4. That is, in FIG. 19, an output of an optimum noise-mix valuecalculation circuit 416, to which are entered the spectral amplitudeAm[i] and the pitch lag Pch, is weighted by a noise weighting circuit417, and the resulting output is sent to a multiplier 418 so as to bemultiplied with a spectral amplitude Am[i] to produce a noise amplitudeAm-noise[i]. As a first specified embodiment for noise synthesis andaddition, a case in which the noise amplitude Am-noise[i] becomes afunction of two of the above four parameters, namely the pitch lag Pchand the spectral amplitude Am[i], is now explained.

Among these functions f₁(Pch, Am[i]) are:

f₁(Pch, Am[i])=0 where 0≦i≦Noise_b×I),

f₁(Pch, Am[i])=Am[i]×noise-mix where Noise-b×I≦i≦I, and

noise-mix=K×Pch/2.0.

It is noted that the maximum value of noise-max is noise-mix-max atwhich it is clipped. As an example, K=0.02, noise-mix-max=0.3 andNoise-b=0.7, where Noise-b is a constant which determines to whichportion of the entire band this noise is to be added. In the presentembodiment, the noise is added in a frequency range higher than70%-position, that is, if fs=8 kHz, the noise is added in a range from4000×0.7=2800 kHz as far as 4000 kHz.

As a second specified embodiment for noise synthesis and addition, inwhich the noise amplitude Am-noise[i] is a function f₂(Pch, Am[i], Amax)of three of the four parameters, namely the pitch lag Pch, spectralamplitude Am[i], and the maximum spectral amplitude Amax, is explained.

Among these functions f₂(Pch, Am[i], Amax) are:

f₂(Pch, Am[i], Amax)=0, where 0≦i≦Noise-b×I),

f₁(Pch, Am[i], Amax)=Am[i]×noise-mix where Noise-b×I≦i≦I, and

noise-mix=K×Pch/2.0.

It is noted that the maximum value of noise-mix is noise-mix-max and, asan example, K=0.02, noise-mix-max=0.3 and Noise-b=0.7.

If Am[i]×noise-mix>A max×C×noise-mix, f₂(Pch, Am[i],Amax)=Amax×C×noise-mix, where the constant C is set to 0.3 (C=0.3).Since the level can be prohibited by this conditional equation frombeing excessively large, the above values of K and noise-mix-max can beincreased further and the noise level can be increased further if thehigh-range level is higher.

As a third specified embodiment of the noise synthesis and addition, theabove noise amplitude Am-noise[i] may be a function of all of the abovefour parameters, that is f₃(Pch, Am[i], Amax, Lev).

Specified examples of the function f₃(Pch, Am[i], Am[max], Lev) arebasically similar to those of the above function f₂(Pch, Am[i], Amax).The residual signal level Lev is the root mean square (RMS) of thespectral amplitudes Am[i] or the signal level as measured on the timeaxis. The difference from the second specified embodiment is that thevalues of K and noise-mix-max are set so as to be functions of Lev. Thatis, if Lev is smaller or larger, the values of K, and noise-mix-max areset to larger and smaller values, respectively. Alternatively, the valueof Lev may be set so as to be inversely proportionate to the values of Kand noise-nix-max.

The post-filters 238 v, 238 u will now be further explained.

FIG. 20 shows a post-filter that may be used as post-filters 238 u, 238v in the embodiment of FIG. 4. A spectrum shaping filter 440, as anessential portion of the post-filter, is made up of a formantemphasizing filter 441 and a high-range emphasizing filter 442. Anoutput of the spectrum shaping filter 440 is sent to a gain adjustmentcircuit 443 adapted for correcting gain changes caused by spectrumshaping. The gain adjustment circuit 443 has its gain G determined by again control circuit 445 by comparing an input x to an output y of thespectrum shaping filter 440 for calculating gain changes for calculatingcorrection values.

If the coefficients of the denominators Hv(z) and Huv(z) of the LPCsynthesis filter, that is, α-parameters, are expressed as α_(i), thecharacteristics PF(z) of the spectrum shaping filter 440 may beexpressed by:

${{PF}(z)} = {\frac{\sum\limits_{i = 0}^{P}\;{\alpha_{i}\beta^{i}z^{- i}}}{\sum\limits_{i = 0}^{P}\;{\alpha_{i}\gamma^{i}z^{i}}}\left( {1 - {kz}^{- 1}} \right)}$

The fractional portion of this equation represents characteristics ofthe formant emphasizing filter, while the portion (1−kz⁻¹) representscharacteristics of a high-range emphasizing filter. β, γ and k areconstants, such that, for example, β=0.6, γ=0.8 and k 0.3.

The gain of the gain adjustment circuit 443 is given by:

$G = \sqrt{\frac{\sum\limits_{i = 0}^{159}\;{x^{2}(i)}}{\sum\limits_{i = 0}^{159}\;{y^{2}(i)}}}$

In the above equation, x(i) and y(i) represent an input and an output ofthe spectrum shaping filter 440, respectively.

It is noted that, while the coefficient updating period of the spectrumshaping filter 440 is 20 samples or 2.5 msec as is the updating periodfor the α-parameter which is the coefficient of the LPC synthesisfilter, the updating period of the gain G of the gain adjustment circuit443 is 160 samples or 20 msec.

By setting the coefficient updating period of the spectrum shapingfilter 443 so as to be longer than that of the coefficient of thespectrum shaping filter 440 as the post-filter, it becomes possible toprevent ill effects otherwise caused by gain adjustment fluctuations.

That is, in a generic post filter, the coefficient updating period ofthe spectrum shaping filter is set so as to be equal to the gainupdating period and, if the gain updating period is selected to be 20samples and 2.5 msec, variations in the gain values are caused even inone pitch period, thus producing a click noise. In the presentembodiment, by setting the gain switching period to be longer, forexample, equal to one frame or 160 samples or 20 msec as shown in FIG.21, abrupt gain value changes may be prohibited from occurring.Conversely, if the updating period of the spectrum shaping filtercoefficients is 160 samples or 20 msec, no smooth changes in filtercharacteristics can be produced, thus producing ill effects in thesynthesized waveform. However, by setting the filter coefficientupdating period to shorter values of 20 samples or 2.5 msec, it becomespossible to realize more effective post-filtering.

By way of gain junction processing between neighboring frames, thefilter coefficient and the gain of the previous frame and those of thecurrent frame are multiplied by triangular windows ofW(i)=i/20 (0≦i≦20) and

1−W(i) where 0≦i≦20 for fade-in and fade-out and the resulting productsare summed together. FIG. 22 shows how the gain G₁ of the previous framemerges to the gain G₁ of the current frame. Specifically, the proportionof using the gain and the filter coefficients of the previous frame isdecreased gradually, while that of using the gain and the filtercoefficients of the current filter is increased gradually. The innerstates of the filter for the current frame and that for the previousframe at a time point T of FIG. 22 are started from the same states,that is from the final states of the previous frame.

The above-described signal encoding and signal decoding apparatus may beused as a speech codebook employed in, for example, a portablecommunication terminal or a portable telephone set shown in FIGS. 23 and24.

FIG. 23 shows a transmitting side of a portable terminal employing aspeech encoding unit 160 configured as shown in FIGS. 1 and 3. Thespeech signals collected by a microphone 161 are amplified by anamplifier 162 and converted by an analog/digital (A/D) converter 163into digital signals which are sent to the speech encoding unit 160configured as shown in FIGS. 1 and 3. The digital signals from the A/Dconverter 163 are supplied to the input terminal 101. The speechencoding unit 160 performs encoding as explained in connection withFIGS. 1 and 3. Output signals of output terminals of FIGS. 1 and 3 aresent as output signals of the speech encoding unit 160 to a transmissionchannel encoding unit 164 which then performs channel coding on thesupplied signals. Output signals of the transmission channel encodingunit 164 are sent to a modulation circuit 165 for modulation and thencesupplied to an antenna 168 via a digital/analog (D/A) converter 166 andan RF amplifier 167.

FIG. 24 shows a reception side of the portable terminal employing aspeech decoding unit 260 configured as shown in FIG. 4. The speechsignals received by the antenna 261 of FIG. 24 are amplified an RFamplifier 262 and sent via an analog/digital (A/D) converter 263 to ademodulation circuit 264, from which demodulated signals are sent to atransmission channel decoding unit 265. An output signal of the decodingunit 265 is supplied to a speech decoding unit 260 configured as shownin FIGS. 2 and 4. The speech decoding unit 260 decodes the signals in amanner as explained in connection with FIGS. 2 and 4. An output signalat an output terminal 201 of FIGS. 2 and 4 is sent as a signal of thespeech decoding unit 260 to a digital/analog (D/A) converter 266. Ananalog speech signal from the D/A converter 266 is sent to a speaker 268through an amplifier 267.

The present invention is not limited to the above-described embodiments.For example, the construction of the speech analysis side (encoder) ofFIGS. 1 and 3 or the speech synthesis side (decoder) of FIGS. 2 and 4,described above as hardware, may be realized by a software programusing, for example, a digital signal processor (DSP). The synthesisfilters 236, 237 or the post-filters 238 v, 238 u on the decoding sidemay be designed, respectively, as a single LPC synthesis filter or asingle post-filter without separation into those for the voiced speechor the unvoiced speech. The present invention is also not limited totransmission or recording/reproduction and may be applied to a varietyof usages such as pitch conversion, speed conversion, synthesis ofcomputerized speech, or noise suppression.

1. A speech encoding method in which an input speech signal is dividedon a time axis in terms of pre-set encoding units and encoded in termsof the pre-set encoding units, comprising the steps of: detecting avoiced/unvoiced sound state of the input speech signal and classifyingthe input speech signal into voiced portions and unvoiced portions;finding short-term prediction residuals of the voiced portions of theinput speech signal; encoding the short-term prediction residuals of thevoiced portions of the input speech signal by sinusoidal analyticencoding; and encoding the unvoiced portions of the input speech signalby waveform encoding.
 2. The speech encoding method as claimed in claim1, wherein harmonic encoding is employed as the sinusoidal analyticencoding.
 3. The speech encoding method as claimed in claim 1, wherein avoiced/unvoiced sound state of each of a plurality of portions of theinput speech signal is detected for classifying each of the plurality ofportions of the input speech signal into one of a voiced mode and anunvoiced mode, and wherein the portions of the input speech signalclassified to be in the voiced mode are encoded by said sinusoidalanalytic encoding while the portions of the input speech signalclassified to be in the unvoiced mode are processed with said waveformencoding, said waveform encoding including vector quantization of thetime-domain waveform by a closed loop search for the optimum vectorusing an analysis by synthesis method.
 4. The speech encoding method asclaimed in claim 1, wherein one of a perceptually weighted vectorquantization process and matrix quantization process is used forquantization of the sinusoidal analysis encoding parameters of theshort-term prediction residuals.
 5. The speech encoding method asclaimed in claim 4, wherein weights are calculated at the time ofperforming one of said perceptually weighted matrix quantization processand vector quantization process based on the results of orthogonaltransform of parameters derived from an impulse response of a weighttransfer function.
 6. A speech encoding apparatus in which an inputspeech signal is divided on a time axis in terms of pre-set encodingunits and encoded in terms of the pre-set encoding units, comprising:means for detecting a voiced/unvoiced sound state of the input speechsignal and classifying the input speech signal into voiced portions andunvoiced portions; means for finding short-term prediction residuals ofvoiced portions of the input speech signal; means for encoding theshort-term prediction residuals of voiced portions of the input speechsignal by sinusoidal analytic encoding; and means for encoding unvoicedportions of the input speech signal by waveform encoding.
 7. The speechencoding apparatus as claimed in claim 6, wherein harmonic encoding isemployed as the sinusoidal analytic encoding.
 8. The speech encodingapparatus as claimed in claim 6, further comprising: means fordiscriminating if the input speech signal is voiced speech or unvoicedspeech and for generating a voiced/unvoiced mode signal; and switchmeans responsive to the voice/unvoiced mode signal for outputting anencoded signal provided by the means for encoding the short-termprediction residuals when the voiced/unvoiced mode signal indicates thatthe input speech is voiced speech and for outputting an encoded signalproduced by the means for encoding the input speech signal by waveformencoding when the voiced/unvoiced mode signal indicates that the inputspeech is unvoiced speech; wherein said waveform encoding means performscode excited linear predictive coding doing vector quantization byclosed loop search of an optimum vector using an analysis by synthesismethod.
 9. The speech encoding apparatus as claimed in claim 6, whereinsaid sinusoidal analytic encoding means uses one of a perceptuallyweighted vector quantization process and matrix quantization process forquantizing the sinusoidal analytic encoding parameters of saidshort-term prediction residuals.
 10. The speech encoding apparatus asclaimed in claim 6, wherein said sinusoidal analytic encoding meanscalculates a weight at the time of performance of one of saidperceptually weighted matrix quantization process and vectorquantization process on the basis of the results of orthogonal transformof parameters derived from an impulse response of a weight transferfunction.
 11. A speech decoding method for decoding an encoded speechsignal obtained by encoding a voiced portion of an input speech signalwith first encoding comprising sinusoidal analytic encoding and byencoding an unvoiced portion of the input speech signal with secondencoding employing short-term prediction residuals, comprising the stepsof: finding first short-term prediction residuals for the voiced speechportion of the encoded speech signal by sinusoidal synthesis; findingsecond short-term prediction residuals for the unvoiced speech portionof the encoded speech signal; and employing predictive syntheticfiltering for synthesizing first and second time-axis waveforms based onthe first and second short-term prediction residuals of the voiced andunvoiced speech portions, respectively.
 12. The speech decoding methodas claimed in claim 11, further comprising a first post-filtering stepof post-filtering the first time-axis waveform of the voiced portion,and a second post-filtering step of post-filtering the second time-axiswaveform of the unvoiced portion.
 13. The speech decoding method asclaimed in claim 12, further comprising the step of combining the firstand second post-filtered time-axis waveforms of the voiced and unvoicedportions, respectively, to synthesize a third time-axis waveform. 14.The speech decoding method as claimed in claim 11, wherein one of aperceptually weighted vector quantization process and matrixquantization process is used for quantizing a sinusoidal syntheticparameter of said short-term prediction residuals.
 15. A speech decodingapparatus for decoding an encoded speech signal obtained by encodingvoiced portions of an input speech signal with a first encoding and byencoding unvoiced portions of the input speech signal with a secondencoding, comprising: means for finding short-term prediction residualsfor the voiced portions of the input speech signal by sinusoidalanalytic encoding; means for finding short-term prediction residuals forthe unvoiced portions of said encoded speech signal; and predictivesynthetic filtering means for synthesizing a first time-axis waveformbased on said short-term prediction residuals of the voiced speechportions and for synthesizing a second time-axis waveform based on theshort-term prediction residuals of the unvoiced speech portions.
 16. Thespeech decoding apparatus as claimed in claim 15, wherein saidpredictive synthetic filtering means further comprises: first predictivefiltering means for synthesizing said first time-axis waveform of thevoiced portion based on the short-term prediction residuals of thevoiced speech portion, and second predictive filtering means forsynthesizing said second time-axis waveform of the unvoiced portionbased on the short-term prediction residuals of the unvoiced speechportion.
 17. A speech decoding method for decoding an encoded speechsignal obtained by finding short-term prediction residuals of an inputspeech signal and encoding resulting short-term prediction residualswith sinusoidal analytic encoding, comprising the steps of: finding saidshort-term prediction residuals of said encoded speech signal bysinusoidal synthesis; adding noise controlled in amplitude based on saidencoded speech signal to said short-term prediction residuals found bysaid sinusoidal synthesis; and performing predictive synthetic filteringby synthesizing a time-domain waveform based on said short-termprediction residuals found by said sinusoidal synthesis added to saidnoise.
 18. The speech decoding method as claimed in claim 17, whereinsaid step of adding said noise adds said noise controlled on a basis ofpitch and spectral envelope obtained from said encoded speech signal.19. The speech decoding method as claimed in claim 17, wherein saidnoise added in said step of adding has an upper value which is limitedto a pre-set value.
 20. The speech decoding method as claimed in claim17, wherein said sinusoidal analytic encoding is performed on short-termprediction residuals of a voiced portion of said input speech signal andwherein vector quantization of said time-domain waveform by aclosed-loop search of an optimum vector is performed on an unvoicedportion of said input speech signal by an analysis by synthesis method.21. A speech decoding apparatus for decoding an encoded speech signalobtained by finding short-term prediction residuals of an input speechsignal and encoding said resulting short-term prediction residuals withsinusoidal analytic encoding, comprising: sinusoidal synthesis means forfinding said short-term prediction residuals of said encoded speechsignal by sinusoidal synthesis; noise addition means for adding noisecontrolled in amplitude based on said encoded speech signal to saidshort-term prediction residuals; and predictive synthetic filteringmeans for synthesizing a time-domain waveform based on said short-termprediction residuals found by said sinusoidal synthesis means added tosaid noise.
 22. The speech decoding apparatus as claimed in claim 21,wherein said noise addition means adds said noise controlled on a basisof pitch and spectral envelope obtained from said encoded speech signal.23. The speech decoding apparatus as claimed in claim 21, wherein saidnoise added by said noise addition means has an upper value which islimited to a pre-set value.
 24. The speech decoding apparatus as claimedin claim 21, wherein said sinusoidal analytic encoding is performed onshort-term prediction residuals of a voiced portion of said input speechsignal and wherein vector quantization of said time-domain waveform by aclosed-loop search of an optimum vector is performed on an unvoicedportion of said input speech signal by an analysis by synthesis method.25. A method for encoding an audible signal, comprising the steps of:converting parameters derived from the input audible signal into afrequency-domain signal; and performing weighted vector quantization ofsaid parameters, the weight of said weighted vector quantization beingcalculated based on results of an orthogonal transform of parametersderived from an impulse response of a weight transfer function.
 26. Themethod for encoding an audible signal as claimed in claim 25, whereinsaid orthogonal transform is a fast Fourier transform, wherein a realpart of a coefficient resulting from the fast Fourier transform isexpressed as re, an imaginary part of the coefficient resulting from thefast Fourier transform is expressed as im, and wherein one of the groupconsisting of (re, im) itself, re²+im², and (re²+im²)^(1/2), asinterpolated, is used as said weight.
 27. A portable radio terminalapparatus comprising: amplifier means for amplifying an input speechsignal; A/D conversion means for performing analog to digital conversionof an output signal from said amplifier means; speech encoding means forspeech-encoding an output signal from said A/D conversion means;transmission path encoding means for channel coding an output signalfrom said speech encoding means; modulation means for modulating anoutput signal from said transmission path encoding means; D/A conversionmeans for performing digital to analog conversion of an output signalfrom said modulation means; and amplifier means for amplifying an outputsignal from said D/A conversion means and supplying the resultingamplified signal to an antenna; wherein said speech encoding meanscomprises: means for detecting a voiced/unvoiced sound state of theinput speech signal and classifying the input speech signal into voicedportions and unvoiced portions; predictive encoding means for findingshort-term prediction residuals of voiced portions of the input speechsignal; sinusoidal analytic encoding means for encoding the short-termprediction residuals of voiced portions of the input speech signal bysinusoidal analytic encoding; and waveform encoding means for waveformencoding of unvoiced portions of the input speech signal.
 28. A portableradio terminal apparatus comprising: amplifier means for amplifying areceived signal; A/D conversion means for performing analog to digitalconversion of an output signal from said amplifier means; demodulatingmeans for demodulating an output signal from said A/D conversion means;transmission path decoding means for channel decoding an output signalfrom said demodulating means; speech decoding means for speech-decodingan output signal from said transmission path decoding means; and D/Aconversion means for performing digital to analog conversion of anoutput signal from said demodulating means; wherein said speech decodingmeans comprises: sinusoidal synthesis means for finding short-termprediction residuals of said encoded speech signal by sinusoidalsynthesis; noise addition means for adding noise controlled in amplitudebased on said encoded speech signal to said short-term predictionresiduals; and a predictive synthetic filter for synthesizing atime-domain waveform based on the short-term prediction residuals addedto the noise.